How to Install Docker on a VM

Ubuntu and OSGeoLive

For additional and detailed information see also the original docker documentation.

1. Update and install prerequisites:

sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
  1. Add Docker’s official GPG key (note the minus at the end):

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  1. Add the stable Docker repository:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  1. Install Docker:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
  1. Create the Docker group and add your user:

sudo groupadd docker
sudo usermod -aG docker $USER
  1. Log out and log in again so that your group membership is re-evaluated.

  2. Verify that you can run Docker commands without sudo:

docker run hello-world

You should not receive any error messages and see the following output:

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete
Digest: sha256:8c5aeeb6a5f3ba4883347d3747a7249f491766ca1caa47e5da5dfcf6b9b717c0
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
        (amd64)
 3. The Docker daemon created a new container from that image which runs the
        executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
        to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/
  1. Configure Docker to start on boot:

sudo systemctl enable docker
sudo systemctl status docker

CentOS

For more information see the original docker documentation for CentOS.

  1. Uninstall old versions. Ignore warnings/errors if some/all packages are not found:

sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
  1. Install the docker repository:

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  1. Install Docker:

sudo yum install docker-ce docker-ce-cli containerd.io
  1. Start Docker:

sudo systemctl start docker
  1. Create the Docker group and add your user:

sudo groupadd docker
sudo usermod -aG docker $USER
  1. Log out and log in again so that your group membership is re-evaluated.

  2. Verify that you can run Docker commands without sudo:

docker run hello-world

You should not receive any error messages and see the following output:

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete
Digest: sha256:8c5aeeb6a5f3ba4883347d3747a7249f491766ca1caa47e5da5dfcf6b9b717c0
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
        (amd64)
 3. The Docker daemon created a new container from that image which runs the
        executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
        to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/
  1. Configure Docker to start on boot:

sudo systemctl enable docker
sudo systemctl status docker

Docker Desktop for Windows

  1. Go to Docker Desktop for Windows page at Docker Hub.

  2. Download the installer by clicking the Get Docker button. Save the file to a known location.

  3. Double-click the installer and follow the prompts. When successfully finished, you will see the Docker whale icon in the notification area.

  4. Open a command-line terminal (PowerShell, command prompt). Verify it is working with the following commands:

docker run hello-world

You should not receive any error messages and see the following output:

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete
Digest: sha256:8c5aeeb6a5f3ba4883347d3747a7249f491766ca1caa47e5da5dfcf6b9b717c0
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
        (amd64)
 3. The Docker daemon created a new container from that image which runs the
        executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
        to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

To learn more, read the Docker Desktop for Windows documentation.