Docker file
Dockerfile Dockerfile is basically a text file. It contains the set of instructions means how’s the container going to build according to user requirements. Dockerfile contains the configuration of container like Image type, Image Name, set of command, Ports and Networks. Docker Components Dockerfile contains docker components which includes Image type, Container name, docker Swarm, container Ports, Command instructions, Working directory Environment variables, author name etc… Docker Components types FROM :- for base image, this command must be on top of the dockerfile. RUN:- To execute commands, it will create a layer in image. MAINTAINER:- Author or Owner name COPY:- To copy files from local system to inside container. ADD:- Similar to copy, but it provide a feature to download files from internet. EXPOSE:- To expose the ports in docker container. WORKDIR:- To set working directory for a container CMD:- Execute commands but during container creation. ENTRYPOINTS:- Similar to CMD, but has higher prority over CMD. ENV:- Environment variables Lets Create ubuntu container using dockerfile and its components and deploy it Step:- 1. Create a file and using this name Dockerfile $ sudo nano Dockerfile FROM ubuntuWORKDIR /tmpRUN echo “Redient Security” > /tmp/testfile paste this above lines in Dockerfile Press Ctrl + x and press ‘Y’ to save it Now create Image using this Dockerfile $ sudo docker build -t test . here test is image name and Dot is for current working directory Run the below command $ sudo docker images Now create container from the test image which we have created using Dockerfile $ sudo docker run -it –name mycontainer test /bin/bash here mycontainer is container name and /bin/bash is for terminal After running above command, now you are in container and in /tmp directoryNow run the below commands to print the output of a file # ls# cat testfile Now you can see, we written the “Welcome to Redient Security” content in Dockerfile and we successfully save the in testfile and printed. Let’s take another example of Dockerfie, this time we will create one image and in that image or container we create one user and install ssh server expose port 22 for ssh. Open terminal and create one Dockerfile $ sudo nano Dockerfile Copy and paste the below lines in Dockerfile FROM ubuntu:18.04LABEL name=”Pramod Singh”LABEL email=”[email protected]”ENV NAME pramodENV PASS password123RUN mkdir -p /var/run/sshdRUN apt-get update && apt-get install -y openssh-serverRUN useradd -d /home/pramod -g root -G sudo -m -p $(echo “$PASS” | openssl passwd -1 -stdin) $NAMEEXPOSE 22CMD [“/usr/sbin/sshd”, “-D”] Save the file with Ctrl + X and press ‘Y’ Now run the below command to build a image from Dockerfile $ sudo docker build -t pramod . Run the below command to view Docker image $ sudo docker images Now create container from the pramod image $ sudo docker run -it –name redients pramod /bin/bash After running the above command, you are in container now, login in pramod user # su pramod Now you successfully logged in pramod and you can also check ssh status, ssh not running run the below commands # service ssh status# service ssh start