What is Docker?
Docker for python– Docker has become one of the demanded technologies in this fast-growing tech era. In simple words, docker can be said as a container. For example, consider a ship that needs to be loaded with goods. It will take a lot of time to load one by one and adjusting it based on the space. Instead, one can take a container load everything in the container and just place the container on the ship. This will reduce your time, space, and labor too. The same reasons are behind the usage of docker. By using a docker, one can solve dependency conflicts i.e. version conflicts of software won’t occur, can easily scale up i.e. it handles the issue of single server facing higher usage problem, etc.
Writing a docker file:
The standard 5 commands used in dockerfile are:
- FROM
- WORKDIR
- COPY
- RUN
- CMD
Example :
FROM python: 3.6
WORKDIR /app
COPY src/requirements.txt ./
RUN pip install -r requirements.txt
COPY src /app
CMD[“python”,”appfile.py”]
Explanation:
FROM “base image” – this specifies which python image has to be used as the base image
WORKDIR “working directory” – specifies the location of the working directory
COPY “source” “destination” – copies the contents from the source file to the destination file
RUN “pip install requirements” – runs the installation of all the requirements for the application
COPY “source” “destination” – copies all the installation from the source to the destination which is the working directory
CMD[“technology”,”entrypoint”] – specifies which technology is used i.e. in this case it is python and the entrypoint specifies the python file which acts as the entrypoint to run the application
If you are writing a python dockerfile for a web application you can also use “EXPOSE” command in the dockerfile.
EXPOSE “portnumber” – specifies the portnumber in which the localhost must run in the browser
Building a docker image:
docker build -t docker-image
docker run –rm docker-image
The above commands are used to build the image and run the dockerfile for your application.
Hers, -t is specified in front of the desired image. An image can be created without specifying a name. The image is always created with an auto-generated unique ID, thus making it an optional parameter.
And, –rm is specified near the run command. This ensures that the container that has been created is automatically deleted once it has stopped.
This post is contributed by Kushmitha Radhakrishnan.
Read More: