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
配置容器環境包下載的國內源,容器內文件路徑:/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命令
startup.sh
容器啟動時自動執行的腳本命令,一般是直接啟動項目
docker鏡像構建
準備好以上文件之后,在Dockerfile文件目錄下執行一下命令構建鏡像:
總結
以上是生活随笔為你收集整理的Dockerfile构建python 运行项目运行环境的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于TextRank算法的文本摘要(附P
- 下一篇: websocket python爬虫_p