Here is a compelete set of instructions to create your own Docker base image. Docker base images are the first layer in a Docker image. There are plenty of base images available, however you can create your own if you like as well.
First, install debootstrap package on any given Ubuntu host.
# apt-get install debootstrap -y
Next, install docker.
# apt-get install docker.io -y
Next, download Ubuntu.
# debootstrap ubuntu-suite-name directory-name-to-download-to > /dev/null
Example for 16.04: debootstrap xenial xenial > /dev/null
You can get a list of Ubunutu suite names from https://wiki.ubuntu.com/DevelopmentCodeNames
Now you can import the Xenial directory into Docker as an image.
# tar -C xenial -c . | docker import - xenial
That’s it to create an image and store it locally, you can verify the image using ‘docker images’.
If you want to run a container using the image try ‘docker run -it xenial /bin/bash’. This should run a BASH shell in the container and give you a BASH command prompt.
Next, if you want to push this to your Docker hub registry, try the below steps:
# docker login -u your-docker-hub-username # docker tag image-id-that-you-got-from-docker-images-cmd your-docker-hub-username/ubuntu:16.04 Example for Xenial or Ubuntu 16.04: docker tag s3489dk349d0 syedaali/unbuntu:16.04 # docker push syedaali/unbuntu
To verify, visit in your browser hub.docker.com, login and check to make sure the image is present.
Alternatively you can run ‘docker search syedaali’ and it will show you the images that I own. Replace my username with yours of course.