DockerFile Commands Explained-cheat sheet-Tutorial
DockerFile Commands Explained-cheat sheet-Tutorial
FROM
every dockerfile starts with from command. in the from command, we will mention base image for the docker image.
Example:
From node:latest
MAINTAINER
MAINTAINER decodingdevops@gmail.com
maintainer command is used to represent the author of the docker file.
RUN
the run command is used to run any shell commands. these commands will run on top of the base image layer. run commands executed during the build time. you can use this command any number of times in dockerfile.
CMD
the cmd command doesn't execute during the build time it will execute after the creation of the container. there can be only one cmd command in dockerfile. if you add more than one cmd commands the last one will be executed and remaining all will be skipped. whatever you are mentioning commands with cmd command in dockefile can be overwritten with docker run command. if there is entrypint command in the dockerfile the cmd command will be executed after entry point command. with cmd command you can pass arguments to entrypoint command.
cmd command you can use in two types one is as executable for and another one is parameters form
parameters form:
CMD ["param1","param2"] this param1 and param2 will be passed to entrypoint command as a arguments.
Example:
ENTRYPOINT ["/decodingdevops.sh"] CMD ["postgress"]
in the above example, postgress is the first argument to entrypoint command
this is like running the shell script with one argument. decodingdevops.sh postgress
executable form:
CMD [“python”, “app.py”]
python app.py will be run in the container after the creation of the container.
overwrite the cmd commands with docker run:
after the creation of the image if you run the container with docker run <image> then cmd command "python app.py" will be executed.
docker run <image> /usr/bin/top
but if you run container like docker run <image> /usr/bin/top then the cmd commands in docker file i,e python app.py will not executed. this cmd command will be overwritten by /usr/bin/top command. only /usr/bin/top will run in the container after starting this conatiner.
so the cmd commands in dockerfile can be overwritten with docker run commands.
EXPOSE
after creating the container, the container will listen on this port
ENV
this command is used to set environment variables in the container.
COPY
COPY <SRC> <DEST>
it will copy the files and directories from the host machine to the container. if the destination does not exist. it will create the directory.
COPY . /usr/src/app
here dot(.) means all files in host machine dockerfile directory, will be copied into container /usr/src/copy directory.
ADD
ADD <SRC> <DEST>
it will copy the files and directories from the host machine to the container and its support copy the files from remote URLs.
ENTRYPOINT
The first command that will execute in the container is entrypoint command. Entrypoint command will be executed before the cmd command. If you mentioned more than one, only the last one will be executed and remaining all will be skipped. cmd command paraments are arguments to entrypoint command.
ENTRYPOINT ["/decodingdevops.sh"] CMD ["postgress"]
above commands will run as /decodingdevops.sh postgress
here postgress is the first argument to script decodingdevops.sh
USER
this command will set user id (uid) or username when running the image
WORKDIR
It is just like Linux cd command. If you mention any path after workdir the shell will be changed into this directory. The next mentioned commands like run,cmd,entrypoint commands will be executed in this directory.
WORKDIR /devops
RUN npm install
here npm install command will run on devops directory.
- dockerfile commands tutorial
- dockerfile commands explained
- dockerfile commands cheat sheet
- dockerfile commands list
- dockerfile commands example
- dockerfile commands pdf