服务器 
首页 > 服务器 > 浏览文章

Docker容器化部署Python应用过程解析

(编辑:jimmy 日期: 2024/12/28 浏览:3 次 )

简单应用部署

一、目录结构:

└── Pythonpro #目录
  └── test.py #文件
  └── requirements.txt #文件
  └── Dockerfile #文件

二、编写Dockerfile文件

# 基于镜像基础
FROM python:3.6.4
# 创建代码文件夹工作目录 /code
RUN mkdir /code
# 复制当前代码文件到容器中 /code
COPY . /code
# 安装所需的包
RUN pip install -r /code/requirements.txt -i https://pypi.douban.com/simple
# 指定cmd的工作目录 /code
WORKDIR /code
#容器启动时执行的命令
CMD ["python","test.py"]

三、创建容器镜像

docker bulid -t test .

四、运行容器

docker run -it --name test --restart always --privileged=true python-test
--name:指定容器的名字为python-test,test是刚刚构建的镜像。

--restart:always 容器退出时总是重启。

--privileged=true:执行容器内文件需要的权限。

Django应用容器化

一、目录结构,我这里假设这个目录存在于/home/Pythonpro。

└── Pythonpro #目录
└── manage.py #文件
└── 主项目 #目录
└── apps #目录
└── requirements.txt #文件
└── Dockerfile #文件
└── run.sh #文件

run.sh脚本

python /code/manage.py runserver 0.0.0.0:8000

二、编写Dockerfile文件

FROM python:3.6.4
RUN mkdir /code &&apt-get update &&apt-get -y install freetds-dev &&apt-get -y install unixodbc-dev
COPY . /code 
RUN pip install -r /code/requirements.txt -i https://pypi.douban.com/simple
WORKDIR /code
CMD ["/bin/bash","run.sh"]

三、构建镜像

docker bulid -t webtest .

四、运行容器

docker run -it -p 6500:8000 -v /home/Pythonpro:/code --name web --restart always --privileged=true webtest

-p:把容器的8000端口映射到宿主机6500

-v:主机的目录/home/Pythonprot映射到容器的目录/code

--name:指定容器的名字为web,webtest刚刚构建的镜像

--restart:always 容器退出时总是重启

--privileged=true:执行容器内文件需要的权限

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

上一篇:Docker 使用 Supervisor 来管理进程操作
下一篇:docker容器内要启动两个进程时Dockerfile的实现代码
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。