Detailed explanation of the process of docker packaging Python environment

Detailed explanation of the process of docker packaging Python environment

The steps of docker packaging Python environment are as follows:

1 Export the dependency packages under pip list

pip freeze > requirements.txt

Put the exported requirements.txt in the docker_test directory

docker_test is the code source folder to be packaged. The docker_test folder of this demo should have requirements.txt and app.py files

2. Write the Dockfile

Create a Dockerfile in the same directory as docker_test. The format is as follows:

#Base image based on FROM python:3.9.6

# Maintainer information MAINTAINER name chy@163.com

# Add the code in the docker_test directory to the code folder in the image (there is a space between the two directory parameters)

ADD ./docker_test /code

# Set the code folder to be the working directory WORKDIR /code

# Installation support RUN pip install -r requirements.txt

#Run the app.py file when docker is runningCMD ["python","/code/app.py"]

3. Create an image

docker build -t imagename Dockerfilepath 

# Dockerfilepath: The name of the folder where the Dockerfile is located. The current directory is "." 

docker build -t d_t .

4 Run the image

docker run -t -i d_t

5 Operation Results

ps: Let's take a look at the docker packaged Python program

Steps: Prepare the environment - Copy the Python program - Start the program

For simplicity, our Python program is a Python file app.py

app.py

from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
    return "hello docker"
if __name__ == '__main__':
    app.run(host="0.0.0.0", port=5000)

Dockerfile

FROM python:2.7
LABEL maintainer="Peng Xiao<xiaoquwl@gmail.com>"
RUN pip install flask
COPY app.py /app/
WORKDIR /app
EXPOSE 5000
CMD ["python", "app.py"]

Build image and start container

docker build -t soymilk/python-test .
docker run -d soymilk/python-test

This is the end of this article about the process of packaging Python environment in docker. For more information about the process of packaging Python environment in docker, please search for previous articles on 123WORDPRESS.COM or continue to browse the following related articles. I hope you will support 123WORDPRESS.COM in the future!

You may also be interested in:
  • How to implement packaging in docker python
  • Detailed explanation of Docker package python commands
  • This article teaches you how to use Docker to package the Python runtime environment

<<:  How to solve the problem of absolutely positioned elements mysteriously disappearing or being blocked in IE6/7

>>:  The images in HTML are directly replaced by base64 encoded strings

Recommend

How to set static IP for Ubuntu 18.04 Server

1. Background Netplan is a new command-line netwo...

Echarts tutorial on how to implement tree charts

Treemaps are mainly used to visualize tree-like d...

Introduction and use of Javascript generator

What is a generator? A generator is some code tha...

Introduction to MySQL Connection Control Plugin

Table of contents 1. Introduction to the connecti...

HTML blockquote tag usage and beautification

Blockquote Definition and Usage The <blockquot...

Summary of some thoughts on binlog optimization in MYSQL

question Question 1: How to solve the performance...

Detailed explanation of the data responsiveness principle of Vue

This article is mainly for those who do not under...

IDEA configuration process of Docker

IDEA is the most commonly used development tool f...

Detailed explanation of whereis example to find a specific program in Linux

Linux finds a specific program where is The where...

Related commands to completely uninstall nginx under ubuntu16.04

nginx Overview nginx is a free, open source, high...

Detailed explanation of Vue3's responsive principle

Table of contents Review of Vue2 responsive princ...

React antd realizes dynamic increase and decrease of form

I encountered a pitfall when writing dynamic form...

How to use iostat to view Linux hard disk IO performance

TOP Observation: The percentage of CPU time occup...