A Dockerfile is a text document that contains all the commands a user could call on the command line to assemble an image.
A very basic Dockerfile will look like
# Use an existing docker image as a base FROM alpine # Download and install the dependency RUN apk add --update redis # Tell the image what to do when it starts as a container CMD ["redis-server"]
It generally have 3 steps :
FROM command which is to specify a base image
RUN command to download and install the dependancies
CMD command to tell the image what to do after starting as a container.
Consider a case where you are given a computer with no operating system in it and the you are asked to install google chrome into it. So how can we proceed and install the google chrome in it.
Well, the most basic steps we move forward is with
Install an operating system because without operating system, the computer will say I don't know what to do, help me with an OS. So the first basic step we do is install the operating system. So when we look to the
Dockerfilewe can see this step resembles with
FROMcommand which specifies a base image.
After installing OS, we will continue with the default browser we have and navigate to the respective site of google chrome to download the installer file. After downloading the installer file, we go to the file location inside the computer and installs the chrome.exe file. Now again we can compare it with
Dockerfilethat I provided above. This step resembles with the
RUNcommand as it will install all the dependencies. Here we download the installer which needs to be then installed to make our google chrome to start.
Now the last step, we execute the installed chrome.exe file and the chrome starts. This is the
CMDcommand from the
Dockerfilewhere we tell the image what to do after starting as a container.
I also created a docker github repository with the basic docker commands, do have a look and be free to correct me.
My Workplay on Docker and Kubernetes. Ref : https://github.com/Rohithv07/DockerCasts
Docker and Kubernetes
My Workplay on docker
Commands to remember :
docker run:- runs a command in a new container .
docker run = docker create + docker start
docker run -p <localhostport>:<containerport> <imagename/id>:- running on ports
docker ps:- to list all the running containers
docker ps --all:- list all the container ever created
docker system prune:- to delete all the containers ever created along with some other properties
docker logs <container-id>:- to get the logs
docker start:- start stopped container
docker stop:- stop the container - gets a sigterm message - terminate signal
docker kill:- kills the container or stops the container instantly
docker exec -it <container id> <command>:- Execute an additional command in container.
-itmakes us to provide the input.
-it equivalent to -i -t
docker exec -it <container id> sh:- provides access to the terminal…