DevOps Classroomnotes 07/Nov/2022

How Containers work?

Trails

  • Every docker container has a command that gets executed when the container is created/started. As long as that command is running the container will be in running state, if that command has finished execution container will be stopped or exited

Lets create a docker container and install our application in it

  • to run the container in the background mode (detached mode) we use -d
  • The application which i want to run is apache server
sudo apt update
sudo apt install apache2 -y
  • Apache runs on port 80
  • Create a docker contianer with ubuntu image. Run it in the interactive mode.
  • Ensure port forwarding is set
docker container run -p 8081:80 -it ubuntu:22.04 /bin/bash
# apt update
# apt install apache2 -y
# service apache2 start
  • Now access the http://<ip of docker host>:8081
  • This might run the application but is not a good way as i need to do installation for every container created.

Lets create a docker image by manually installing softwares in container

  • Lets install a nginx in some container and create a image out of it
  • lets create a container in a interactive mode
docker container run -p 8082:80 -it ubuntu:22.04 /bin/bash
# apt update
# apt install nginx -y
# service nginx start
  • Now lets create a docker image from running container
  • In the docker host
docker commit <container-name/id>


* Now lets create an image and tag based the image id

* This approach creates images but no history of changes are available.

Dockerfile approach

  • Dockerfile approach is all about using instrcutions to inform docker what needs to be done when creating the image, starting the contianer. What are the metadata about your image
  • Dockerfile has instructions to containerize the application.
  • Dockerfile can be written in any text file, but file a name Dockerfile is most commonly used
  • Lets take a very simple Dockerfile
FROM alpine:latest
CMD ["echo", "Welcome to container world"]
  • Now lets try to build
  • Create a new folder and create a file with name Dockerfile with the above content
  • Now check images
  • Lets run the container from the image
Published
Categorized as Uncategorized Tagged

By continuous learner

devops & cloud enthusiastic learner

Leave a ReplyCancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Please turn AdBlock off
Customized Social Media Icons from Acurax Digital Marketing Agency

Discover more from Direct DevOps from Quality Thought

Subscribe now to keep reading and get access to the full archive.

Continue reading

Exit mobile version
%%footer%%