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
https://docs.docker.com/docker-for-windows/install/
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).
The 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, webserver
:
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 docker
command.)
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, webserver
:
> 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