In the modern environment, being proficient at managing containers is an essential skill. In this activity, you will use Docker container management skills to start and stop containers based on images, add and remove images and containers, and monitor and update containers. Completing the lab will demonstrate basic Docker container management skills.
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Practice Docker by Running the hello-world and busybox Images
If docker is installed and the docker.service enabled, then a great way to test the ability to run a container is to use the docker subcommand
run
with a simple image likehello-world
. The busybox image is another simple image that we will pull andrun
a command in. Theps
subcommand is useful for viewing running or all containers, and images will list the images in the local repository. Using therm
subcommand we can remove containers and withrmi
images.sudo -i docker run hello-world docker run --name hi hello-world docker search busybox docker pull docker.io/busybox docker run --name busy -it busybox /bin/sh exit docker ps -a # shows a <name> for hello-world docker rm <name> docker rm hi docker ps -a docker images docker rmi hello-world docker images
- Create an apache2 Container Based On the Image httpd:2.4 Mapping localhost:8080 to the Container Port 80
Use
docker run
to create a container namedapache2
, based upon thehttpd:2.4
image, and map the HTTP port with-p 8080:80
.docker run --name apache2 -p 8080:80 httpd:2.4 #Use CTRL+C to exit output from running container docker ps docker ps -a docker start apache2 docker logs apache2 docker stats apache2 CTRL+C lynx -dump http://localhost:8080
- In the apache2 Container, Update the Default index.html file, Then Verify and Commit the Changes
docker exec -it apache2 bash ls cd htdocs echo 'apache2 container' > index.html exit lynx -dump http://localhost:8080 docker commit -m 'Updated index.html' apache2
- Restart the apache2 Container and Verify Changes Are in Effect
docker ps docker stop apache2 docker ps -a docker start apache2 lynx -dump http://localhost:8080