日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Dockerfile构建python 运行项目运行环境

發布時間:2024/7/5 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Dockerfile构建python 运行项目运行环境 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

https://blog.csdn.net/qq_24487005/article/details/123380810

目錄

構建思路

DockerFile腳本

環境文件解析

pip.conf

sources.list

openssl.cnf

localtime

install.sh

startup.sh

docker鏡像構建


構建思路

1、把容器內需要用到的文件全部復制到容器中

2、設置一個工作目錄,把項目代碼共享到工作目錄中運行

3、把需要執行的shell命令寫在一個.sh文件中,統一執行。因為Dockerfile 的指令每執行一次都會在 docker 上新建一層。所以過多無意義的層,會造成鏡像膨脹過大;RUN 是在 docker build執行腳本

4、配置容器啟動自動執行腳本,CMD 在docker run 時運行運行腳本

DockerFile腳本 # 基于鏡像基礎 FROM python:3.9.5# 復制文件到容器中 ADD ./docker/pip.conf /root/.pip/pip.conf ADD ./docker/sources.list /etc/apt/sources.list ADD ./docker/openssl.cnf /etc/ssl/openssl.cnf ADD ./docker/localtime /etc/localtime ADD ./docker/requirements.txt /var/requirements.txt ADD ./docker/startup.sh /var/startup.sh ADD ./docker/install.sh /var/install.sh# 工作目錄 /var/app WORKDIR /var/appRUN /var/install.shCMD /var/startup.sh

環境文件解析
pip.conf
配置pip國內源,容器內文件路徑:/root/.pip/pip.conf

[global] index-url=https://mirrors.aliyun.com/pypi/simple/ sources.list

配置容器環境包下載的國內源,容器內文件路徑:/etc/apt/sources.list

deb http://mirrors.aliyun.com/debian/ buster main non-free contrib deb http://mirrors.aliyun.com/debian-security buster/updates main deb http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib deb http://mirrors.aliyun.com/debian/ buster-backports main non-free contribdeb-src http://mirrors.aliyun.com/debian-security buster/updates main deb-src http://mirrors.aliyun.com/debian/ buster main non-free contrib deb-src http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib deb-src http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib openssl.cnf

處理ssl.SSLError: [SSL: DH_KEY_TOO_SMALL] dh key too small問題

容器內文件路徑:/etc/ssl/openssl.cnf

修改文件參數即可

[system_default_sect] MinProtocol = TLSv1.2 #CipherString = DEFAULT@SECLEVEL=2 CipherString = DEFAULT@SECLEVEL=1 localtime

同步系統時間到容器內,容器內文件路徑:/etc/localtime

install.sh
構建容器時需要執行的shell命令

#!/bin/bash set -e apt update apt install -y cron libsasl2-dev python-dev libldap2-dev libssl-dev nodejs pip install --upgrade pip pip install -r /var/requirements.txt chmod -R 777 /var/startup.sh

startup.sh
容器啟動時自動執行的腳本命令,一般是直接啟動項目

#!/bin/bash set -e service cron start pip install -r requirements.txt python manage.py runserver 0.0.0.0:8000

docker鏡像構建
準備好以上文件之后,在Dockerfile文件目錄下執行一下命令構建鏡像:

docker build -t image-name .

總結

以上是生活随笔為你收集整理的Dockerfile构建python 运行项目运行环境的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。