DevOps Classroomnotes 12/Apr/2023

Dockerfile Instructions Contd…

  • LABEL: This instruction adds metadata Refer Here
    • Refer Here for the changes done for spc image
    • Lets inspect the image docker image inspect spc:1.0.0.1 and observe the labels section

ADD, COPY instructions

  • ADD instruction can add the files into docker image from local file system as well as from http(s)
  • ADD instruction can have sources
    • local file system
    • git repo
    • url
  • COPY supports only local file system
  • Lets use ADD to download springpetclinic into docker image from url ADD https://referenceapplicationskhaja.s3.us-west-2.amazonaws.com/spring-petclinic-2.4.2.jar /spring-petclinic-2.4.2.jar
  • Refer Here for the changes
  • copy the springpetclinic jar file into some local path on docker host. Refer Here for the changes done

What do we mean by running container in detached mode?

  • Lets try to start the docker container jenkins jenkins/jenkins

  • docker container’s STDOUT and STDERR will be attached to your terminal and if we execute ctrl+c the container exits.
  • Running container normally will take us to attached mode.
  • In detached mode container executes and gives us back the access to terminal
  • Once we start the container in detached mode we can still view the STDOUT and STDERR by executing docker container attach <container-name-or-id>
  • To exit from attach mode Ctrl+PQ

Docker container will be in running state as long as command in cmd is running

  • Consider the following Dockerfile
FROM amazoncorretto:11
LABEL author="shaikkhajaibrahim"
LABEL organization="qt"
LABEL project="learning"
# Copy from local file on Docker host into docker image
COPY spring-petclinic-2.4.2.jar  /spring-petclinic-2.4.2.jar
EXPOSE 8080
CMD ["sleep", "10s"]
  • We have sleep 10s i.e. this will run for 10s and finish.
  • Docker container will move to exited stated once the command in CMD has finished executing

Exercise:

  • Create a ubuntu vm
  • install apache2 and note the ExecStart command for apache2
  • install tomcat9 and note the ExecStart command for tomcat9
  • stop the services (systemcl stop servicename)
  • become a root user (sudo -i)
  • try executing the ExecStart command directly and see if the application is running
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%%