使用Docker部署python程序流程

主要目標:把基于PyCharm編寫程序,使用docker部署運行。
這次技術(shù)博客原創(chuàng)主要是部署流程,原創(chuàng)東西很少,參照幾篇技術(shù)博客,梳理了流程,使部署流程更簡單易懂、更便于操作。

前提條件已安裝docker。

主要分為四步:

一、準備創(chuàng)建docker鏡像所需要文檔結(jié)構(gòu):

創(chuàng)建XXimg文件夾,再在其中創(chuàng)建XX文件夾(用來存放程序及配置文檔)和Dockerfile文件(用于構(gòu)建鏡像),最后在XX文件夾中創(chuàng)建package文件夾(用于存放程序)和requirements.txt(運行工程所需要的環(huán)境列表)。

二、生產(chǎn)中間文件:

1、Dockerfile文件內(nèi)容格式如下:

# 基于鏡像基礎(chǔ)
FROM python:3.6
# 維護者信息
MAINTAINER name huaye6018
# 復(fù)制當(dāng)前代碼文件到容器中 /app
ADD . /app
# 設(shè)置app文件夾是工作目錄 /app
WORKDIR /app
# 安裝所需的包,默認為使用python官方鏡像源,安裝 比較慢
#RUN pip install -r requirements.txt
#可以修改為清華源
RUN pip install -r app/xx/requirements.txt - i https://pypi.tuna.tsinghua.edu.cn/simple
# Run server.py when the container launches
CMD ["python", "/app/xx/server.py"]

2、生成鏡像文件準備文件,在開發(fā)電腦上項目目錄下(pycharm 終端下)進入終端執(zhí)行命令:
pip freeze > requirements.txt 或者(pip install pipreqs)

三、上傳Linux系統(tǒng):

1、將XXimg壓縮包上傳Linux系統(tǒng),解壓文件(unzip),進入相應(yīng)目錄。
2、創(chuàng)建鏡像命令:docker build -t docker_xximg .,docker_xximg為鏡像名稱; “.”代表當(dāng)前目錄,容易忘記。
3、查看鏡像命令:docker images。
4、運行鏡像,生成并啟動容器命令:docker run -it -p 端口:端口 --name 容器名 docker_xximg。

四、測試訪問:

IP:端口

常用命令:

查看安裝的docker:yum list installed | grep docker。
退出容器又不關(guān)閉容器:Ctrl + P + Q。
進入容器:docker exec -it 容器ID /bin/bash (docker attach 容器ID)。
退出容器且關(guān)閉容器:ctrl+d 。
查看容器:docker ps -a。
查看鏡像:docker images。
刪除容器:docker rm 容器ID。
刪除鏡像:docker rmi 鏡像ID/鏡像名。
docker inspect 容器ID:返回一個Json文件記錄Docker容器的配置和狀態(tài)信息。
將容器導(dǎo)出到容器的鏡像文件 : docker export 容器ID > update.tar。
用容器的鏡像文件創(chuàng)建一個新靜像:docker import - 鏡像名 < update.tar。
創(chuàng)建完成之后,生成并啟動鏡像的容器:docker run -it 鏡像名。
鏡像導(dǎo)出:tar鏡像包可以拷貝到其他機器docker環(huán)境中加載命令: docker save xximg -o XX.tar。
鏡像加載:docker load -i XX.tar。

參考文獻:

Docker 教程
Centos6.5下安裝docker
將python項目部署到docker
docker如何部署python項目_在docker中部署Python項目,Docker
Docker部署python項目步驟及常用命令

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容