This post is in continuation with previous post “How to install Docker on Ubuntu 18.04 ?” , in this post we will demonstrate how you can run Ubuntu 18.04 inside docket container.
Search for the Ubuntu images from the repository as,
$ sudo docker search ubuntu
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
ubuntu Ubuntu is a Debian-based Linux operating sys… 11424 [OK]
dorowu/ubuntu-desktop-lxde-vnc Docker image to provide HTML5 VNC interface … 469 [OK]
rastasheep/ubuntu-sshd Dockerized SSH service, built on top of offi… 249 [OK]
consol/ubuntu-xfce-vnc Ubuntu container with "headless" VNC session… 227 [OK]
ubuntu-upstart Upstart is an event-based replacement for th… 110 [OK]
neurodebian NeuroDebian provides neuroscience research s… 72 [OK]
1and1internet/ubuntu-16-nginx-php-phpmyadmin-mysql-5 ubuntu-16-nginx-php-phpmyadmin-mysql-5 50 [OK]
ubuntu-debootstrap debootstrap --variant=minbase --components=m… 44 [OK]
nuagebec/ubuntu Simple always updated Ubuntu docker images w… 24 [OK]
i386/ubuntu Ubuntu is a Debian-based Linux operating sys… 24
1and1internet/ubuntu-16-apache-php-5.6 ubuntu-16-apache-php-5.6 14 [OK]
1and1internet/ubuntu-16-apache-php-7.0 ubuntu-16-apache-php-7.0 13 [OK]
1and1internet/ubuntu-16-nginx-php-phpmyadmin-mariadb-10 ubuntu-16-nginx-php-phpmyadmin-mariadb-10 11 [OK]
1and1internet/ubuntu-16-nginx-php-5.6 ubuntu-16-nginx-php-5.6 8 [OK]
1and1internet/ubuntu-16-nginx-php-5.6-wordpress-4 ubuntu-16-nginx-php-5.6-wordpress-4 7 [OK]
1and1internet/ubuntu-16-apache-php-7.1 ubuntu-16-apache-php-7.1 6 [OK]
darksheer/ubuntu Base Ubuntu Image -- Updated hourly 5 [OK]
pivotaldata/ubuntu A quick freshening-up of the base Ubuntu doc… 4
1and1internet/ubuntu-16-nginx-php-7.0 ubuntu-16-nginx-php-7.0 4 [OK]
pivotaldata/ubuntu16.04-build Ubuntu 16.04 image for GPDB compilation 2
smartentry/ubuntu ubuntu with smartentry 1 [OK]
pivotaldata/ubuntu-gpdb-dev Ubuntu images for GPDB development 1
1and1internet/ubuntu-16-sshd ubuntu-16-sshd 1 [OK]
1and1internet/ubuntu-16-php-7.1 ubuntu-16-php-7.1 1 [OK]
pivotaldata/ubuntu16.04-test Ubuntu 16.04 image for GPDB testing 0
Now, you can create download the Ubuntu 18.04 docker image using below command,
$ sudo docker create ubuntu:18.04
This will download ubuntu image as,
Unable to find image 'ubuntu:18.04' locally
18.04: Pulling from library/ubuntu
171857c49d0f: Pull complete
419640447d26: Pull complete
61e52f862619: Pull complete
Digest: sha256:646942475da61b4ce9cc5b3fadb42642ea90e5d0de46111458e100ff2c7031e6
Status: Downloaded newer image for ubuntu:18.04
1e8f5cbe605f438f01a6bfe164c9a472a2b2e34a54521bc2143082dc4016b03a
Alternatively if you are looking for any latest Ubuntu docker image, you can download the latest ubuntu docker image using below command,
$ sudo docker pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
d72e567cc804: Pull complete
0f3630e5ff08: Pull complete
b6a83d81d1f4: Pull complete
Digest: sha256:bc2f7250f69267c9c6b66d7b6a81a54d3878bb85f1ebb5f951c896d13e6ba537
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest
Once you downloaded ubuntu image, you can check the docker images as,
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 9140108b62dc 3 weeks ago 72.9MB
ubuntu 18.04 56def654ec22 3 weeks ago 63.2MB
hello-world latest bf756fb1ae65 9 months ago 13.3kB
As you can see now, we can 3 docker images locally, 1. helloworld 2. Ubuntu Latest version 3. Ubuntu 18.04
Now, you can run the Ubuntu 18.04 docker ubuntu using “IMAGE ID” as,
$ sudo docker run -it 56def654ec22
This command is “$ sudo docker run -it “IMAGE ID” ” , so we replace IMAGE ID with our ubuntu 18.04 IMAGE ID i.e. 56def654ec22
Once you run it, you will get the Ubuntu shell with root user as,
root@f22b02725263:/#
You can also check the running docker images using below command,
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f22b02725263 56def654ec22 "/bin/bash" 4 minutes ago Up 4 minutes blissful_hoover
Now, we have the Ubuntu 18.04 docker image running, where you got the shell and do anything you want once you get to console and use exit command to exit from the docker shell.
But this still has one limitation, suppose you get to console and does some work like creating files, installing some packages etc, and “exit” from that shell and after some time you again started the same Ubuntu image, you will see all the work you done previously has been lost, and you have to start all over again.. In our next post, “How to save / commit changes to docker image ?” we will demo how you can save the data in docker ubuntu image.