Docker is a full development platform for creating containerized applications. Docker Desktop is the best way to get started with Docker on Windows.
1 – Download and Install from below url
2 – Open a terminal window (Command Prompt or PowerShell, but not PowerShell ISE).
3 – Run
docker --version to ensure that you have a supported version of Docker:
4 – Pull the hello-world image from Docker Hub and run a container:
> docker run hello-world docker : Unable to find image 'hello-world:latest' locally ... latest: Pulling from library/hello-world ca4f61b1923c: Pulling fs layer ca4f61b1923c: Download complete ca4f61b1923c: Pull complete Digest: sha256:97ce6fa4b6cdc0790cda65fe7290b74cfebd9fa0c9b8c38e979330d547d22ce1 Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. ...
5 – List the
hello-world image that was downloaded from Docker Hub:
> docker image ls
6 – Explore the Docker help pages by running some help commands:
> docker --help > docker container --help > docker container ls --help > docker run --help
Sample Complex Applications
In this section, demonstrated sample the ease and power of Dockerized applications by running something more complex, such as an OS and a webserver.
- Pull an image of the Ubuntu OS and run an interactive terminal inside the spawned container:
> docker run --interactive --tty ubuntu bash
docker run --interactive --tty ubuntu bash docker : Unable to find image 'ubuntu:latest' locally ... latest: Pulling from library/ubuntu 22dc81ace0ea: Pulling fs layer 1a8b3c87dba3: Pulling fs layer 91390a1c435a: Pulling fs layer ... Digest: sha256:e348fbbea0e0a0e73ab0370de151e7800684445c509d46195aef73e090a49bd6 Status: Downloaded newer image for ubuntu:latest
You are in the container. At the root
# prompt, check the
hostname of the container:
root@8aea0acb7423:/# hostname 8aea0acb7423
Notice that the hostname is assigned as the container ID (and is also used in the prompt).
Exit the shell with the
exit command (which also stops the container):
List containers with the
--all option (because no containers are running).
hello-world container (randomly named,
relaxed_sammet) stopped after displaying its message. The
ubuntu container (randomly named,
laughing_kowalevski) stopped when you exited the container.
docker container ls --all CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8aea0acb7423 ubuntu "bash" 2 minutes ago Exited (0) 2 minutes ago laughing_kowalevski 45f77eb48e78 hello-world "/hello" 3 minutes ago Exited (0) 3 minutes ago relaxed_sammet
Pull and run a Dockerized nginx web server that we name,
docker run --detach --publish 80:80 --name webserver nginx Unable to find image 'nginx:latest' locally latest: Pulling from library/nginx fdd5d7827f33: Pull complete a3ed95caeb02: Pull complete 716f7a5f3082: Pull complete 7b10f03a0309: Pull complete Digest: sha256:f6a001272d5d324c4c9f3f183e1b69e9e0ff12debeb7a092730d638c33e0de3e Status: Downloaded newer image for nginx:latest dfe13c68b3b86f01951af617df02be4897184cbf7a8b4d5caf1c3c5bd3fc267f
Point your web browser at
http://localhost to display the nginx start page. (You don’t need to append
:80 because you specified the default HTTP port in the
List only your running containers:
docker container ls CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0e788d8e4dfd nginx "nginx -g 'daemon of…" 2 minutes ago Up 2 minutes 0.0.0.0:80->80/tcp webserver
Stop the running nginx container by the name we assigned it,
> docker container stop webserver
Remove all three containers by their names — the latter two names will differ for you:
> docker container rm webserver laughing_kowalevski relaxed_sammet