Skip to main content

Commands used in Dockefile - Part4

  Docker is an opensource tool used for virtualization and deliver software in the form of packages called Containers. It is one of the most important tools used in networking domain.  Dockerfile  is a template for building the image which contains commands needed to package the software. In this post, I am going to explain the commands ADD & COPY used in  Dockerfile .   ADD Command:   ADD command is used to copy files, directories or files from remote URLS to destination path in the image. The source paths can contain wildcards.   If the destination has relative path, it is relative to the Working directory of the image. Note that source path is always relative to the Docker build context.   ADD command will not support authentication. So, if there are any protected files to be added in  Dockerfile  building, use other tools like curl or  wget   Dockerfile  copying Single & Multiple files, directory using ADD inst...

Command Used in Dockerfile - Part1

 Docker is an opensource tool used for virtualization and deliver software in the form of packages called Containers. It is one of the most important tools used in networking domain. Dockerfile is a template for building the image which contains commands needed to package the software. In this post, I am going to explain the commands FROM, RUN, LABEL, EXPOSE used in Dockerfile. In Dockerfile, each command will be a layer. 

FROM Command: 

FROM command is used to specify base image. Usually base images from public repositories are pulled and being used. One can search for base images by clicking here. Common usage of FROM will be like FROM <Image_Name>:<Tag>. Tag is optional. If tag is not specified, default tag will be latest. 

Some examples of FROM command with common images:

  • FROM ubuntu:14.04
  • FROM ubuntu:16.04
  • FROM centos:7

RUN Command: 

RUN command is used to run command on top of current image and the resultant image will be used further. One example will be creating users on Ubuntu Linux base image. There are two ways of using RUN command to accomplish the same. 

  1. RUN useradd –mu 1001 demo - Creates user demo with user id 1001 and home directory as /home/demob 
  2. RUN [“useradd”,”-mu”,”1001”,”demo”] - Does the same as above. Here command and arguments are passed like a List 

LABEL Command: 

LABEL command is primarily used to add meta data to an image. For example, we can add author of the image, build date as labels. Labels are added using Key Value pairs. If the value contains space, enclose them in double quotes. Also, one can add multiple labels in single layer of docker image. Below line shows the LABEL command usage. The first line shows adding single label in single layer. The second line shows adding multiple labels in single layer. 

  • LABEL version="latest" 
  • LABEL DESCRIPTION="Label for Demo Purpose"\ 
                    AUTHOR=Manideep 

To check the labels and their values after building images, use the command docker inspect –format='{{json .Config.Labels}}' image_name_or_id 


EXPOSE Command: 

EXPOSE command is used to specify the list of ports of a container listening at the runtime. While exposing the port, if the protocol is not specified, the default protocol will be TCP. Below lines the EXPOSE command usage. 

  • EXPOSE 4000/udp means exposing 4000 port to listen on UDP protocol 
  • EXPOSE 4000/tcp means exposing 4000 port to listen on TCP protocol 
  • EXPOSE 4000 means exposing 4000 port to listen on TCP protocol 

To check the exposed ports after building images, use the command docker inspect –format=’{{json .Config.ExposedPorts}}’ image_name_or_id 

Comments

Popular posts from this blog

Notes on IPv4, IPv6 and MAC representations

  In companies related to networking domain, “ Explain IPv4, IPv6 and MAC ” is one of the common questions asked in technical interview. This post provides overview of these concepts. IP: IP is the protocol used in Networking layer. It is responsible for the delivering packets from source to destination based on the identifier known as IP address of the device. There are two popular ways of representing the devices in the network. They are: IPv4  (Internet  Protocol version 4) IPv6 (Internet Protocol version6) IPv4:   This version of IP uses 32-bit addresses to identify the device on the network.  Therefore,  the total number of addresses possible with IPv4 is 2 32 . These  32-bit  addresses are divided into 4 octets (batch of 8 bits) with each octet represented in decimal numbers and octets are separated by dot. In IPv4 the loopback address of a device is  127.0.0.1 . IPv4 supports unicasting, broadcasting and multicasting. To map IPv4 addre...

Commands used in Dockerfile - Part3

  Docker is an opensource tool used for virtualization and deliver software in the form of packages called Containers. It is one of the most important tools used in networking domain.  Dockerfile  is a template for building the image which contains commands needed to package the software. In this post, I am going to explain the commands WORKDIR & HEALTHCHECK used in  Dockerfile .   WORKDIR Command:   WORKDIR command is used to set the directory of the image on which the commands like RUN, COPY, ADD, ENTRYPOINT, CMD operates.   The command usage is WORKDIR < Path_To_Dir >. If the directory not exists, it will be created. If the relative path is given to WORKDIR, that path will be relative to the previous WORKDIR command’s path.    In Ubuntu, by default the WORKDIR will be  / . Please find the below sample  Dockerfile  to get clear picture of WORKDIR command:   FROM  ubuntu: 16.04   WORKDIR  /root ...

Commands used in Dockefile - Part4

  Docker is an opensource tool used for virtualization and deliver software in the form of packages called Containers. It is one of the most important tools used in networking domain.  Dockerfile  is a template for building the image which contains commands needed to package the software. In this post, I am going to explain the commands ADD & COPY used in  Dockerfile .   ADD Command:   ADD command is used to copy files, directories or files from remote URLS to destination path in the image. The source paths can contain wildcards.   If the destination has relative path, it is relative to the Working directory of the image. Note that source path is always relative to the Docker build context.   ADD command will not support authentication. So, if there are any protected files to be added in  Dockerfile  building, use other tools like curl or  wget   Dockerfile  copying Single & Multiple files, directory using ADD inst...