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
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 -
Add the stable Docker repository:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Install Docker:
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
Create the Docker group and add your user:
sudo groupadd docker
sudo usermod -aG docker $USER
Log out and log in again so that your group membership is re-evaluated.
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/
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.
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
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
Install Docker:
sudo yum install docker-ce docker-ce-cli containerd.io
Start Docker:
sudo systemctl start docker
Create the Docker group and add your user:
sudo groupadd docker
sudo usermod -aG docker $USER
Log out and log in again so that your group membership is re-evaluated.
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/
Configure Docker to start on boot:
sudo systemctl enable docker
sudo systemctl status docker
Docker Desktop for Windows
Go to Docker Desktop for Windows page at Docker Hub.
Download the installer by clicking the Get Docker button. Save the file to a known location.
Double-click the installer and follow the prompts. When successfully finished, you will see the Docker whale icon in the notification area.
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.