DEV Community

Moataz Burhan
Moataz Burhan

Posted on

100DaysOfCode — Day 05

Alt Text

In this series, I will alternate between Go language learning, Docker concepts, and Kubernetes.

Today, I finished a basic docker tutorial. I am glad to share it with you.

Prerequisite

  1. Install docker

What is a container?

Docker provides the ability to package and run an application in a loosely isolated environment called a container. A container is simply another process on your machine that has been isolated from all other processes on the host machine.

Your first container

Open a command prompt or bash window, and run the command:

$ docker run -dp 80:80 --name getting-started docker/getting-started
Enter fullscreen mode Exit fullscreen mode
  • docker run Run a command in a new container
  • -d Run container in background and print container ID
  • -p 80:80 Publish a container's port(s) to the host
  • docker/getting-started Docker image to run
  • --name getting-started Assign a name to the container

Test your container

$ docker ps
Enter fullscreen mode Exit fullscreen mode
  • docker ps List containers

You see a list like this shows a container running docker/getting-started image.

CONTAINER ID   IMAGE                    COMMAND                  CREATED         STATUS         PORTS                NAMES
1af9e7993c08   docker/getting-started   "nginx -g 'daemon of…"   2 minutes ago   Up 2 minutes   0.0.0.0:80->80/tcp   getting-started
Enter fullscreen mode Exit fullscreen mode

Now open your browser and go to http://localhost/. Boom ... your container is up and running:
Alt Text

End the container

Now run the following command to end the container:

$ docker stop getting-started
Enter fullscreen mode Exit fullscreen mode

Now list the containers

$ docker ps
Enter fullscreen mode Exit fullscreen mode
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
Enter fullscreen mode Exit fullscreen mode

Note that docker container has stopped but it is still in your system. You can see stopped containers using the following command:

$ docker ps -a
Enter fullscreen mode Exit fullscreen mode

You will see this:

CONTAINER ID   IMAGE                    COMMAND                  CREATED          STATUS                     PORTS     NAMES
1af9e7993c08   docker/getting-started   "nginx -g 'daemon of…"   6 minutes ago    Exited (0) 3 minutes ago             getting-started
Enter fullscreen mode Exit fullscreen mode

To remove the container run the following command:

$ docker rm getting-started
Enter fullscreen mode Exit fullscreen mode
$ docker ps -a
Enter fullscreen mode Exit fullscreen mode

Remove the image

Note that docker/getting-started image was downloaded when ran docker run command. Run the following command to see image in your system:

$ docker images
Enter fullscreen mode Exit fullscreen mode
REPOSITORY                    TAG       IMAGE ID       CREATED         SIZE
docker/getting-started        latest    3c156928aeec   9 months ago    24.8MB
Enter fullscreen mode Exit fullscreen mode

Run the following command to remove the downloaded image:

$ docker rmi docker/getting-started
Enter fullscreen mode Exit fullscreen mode
Untagged: docker/getting-started:latest
Untagged: docker/getting-started@sha256:d2c4fb0641519ea208f20ab03dc40ec2a5a53fdfbccca90bef14f870158ed577
Deleted: sha256:3c156928aeec9595a140d3e9bb67fc6849650a0a756bbb0b1690ce9a4ddca884
Deleted: sha256:bd0923edebaabd47c31d4f79115f9cbd91e6045c9b2585f02b346af81a6d3dbd
Deleted: sha256:0d6528f3488cda7f74d825579182af56cbdd7fed5bccacfa3042834b514157ac
Deleted: sha256:ec7d8444b0ff84cd1e55ec191abe60e26f996ac883d87dcb50fdca507f2af8be
Deleted: sha256:beee9f30bc1f711043e78d4a2be0668955d4b761d587d6f60c2c8dc081efb203
Enter fullscreen mode Exit fullscreen mode

End of day 5 of 100DaysOfCode.

Top comments (0)