is it possible to wrap an entire ubuntu 14 os in a docker image

I have a Ubuntu 14 desktop, on which I do some of my development work.
This work mainly revolves around Django & Flask development using PyCharm
I was wandering if it was possible to wrap the entire OS file system in a Docker container, so my whole development environment, including PyCharm and any other tools, would become portable

  • docker pull using puppet not working
  • fork/exec ./debug: operation not permitted
  • How to launch AVD while keep running docker
  • Record local audio in a docker container
  • How to start a container automatically in boot2docker on boot?
  • How does the Docker network feature provide service discovery?
  • Mount nginx configuration files inside docker container
  • Easiest way to deploy with docker-compose?
  • Insecure Docker registry on Centos7 refuses to ingest images, even with flag 'insecure-registries'
  • Docker difference between two containers
  • In docker, why does mounting a data volume container to a container makes it stop working?
  • unable to run docker container (image size 9 GB) from AWS instance
  • One Solution collect form web for “is it possible to wrap an entire ubuntu 14 os in a docker image”

    Yes, this is where Docker shines. Once you install Docker you can run:

    docker run --name my-dev -it ubuntu:14.04 /bin/bash

    and this will put you, as root, inside a Docker container’s bash prompt. It is for all intents and purposes the entire os without anything extra, you will need to install the extras, like pycharm, flask, django, etc. Your entire environment. The environment you start with has nothing, so you will have to add things like pip (apt-get install -y python-pip), and other goodies. Once you have your entire environment you can exit (with exit, or ^D) and you will be back in your host operating system. Then you can commit :

    docker commit -m 'this is my development image' my-dev my-dev

    This takes the Docker image you just ran (and updated with changes) and saves it on your machine with the tag my-dev:v1, any time in the future you can run this again using the invocation:

    docker run -it my-dev /bin/bash

    Building a Docker image like this is harder, it is easier once you learn how to make a Dockerfile that describes the base image (ubuntu:14.04) and all of the modifications you want to make to it in a file called Dockerfile. I have an example of a Dockerfile here:

    This builds my python development environment, including git, ssh keys, compilers, etc. It does have my name hardcoded in it, so, it won’t help you much doing development (I need to fix that). Anyway, you can download the Dockerfile, change it with your details in it, and create your own image like this:

    docker build -t my-dev -< Dockerfile

    There are hundreds of examples on the Docker hub which is where I started with mine.


    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.