1. 首页
  2. 技术知识

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

简单应用部署

一、目录结构:

└── 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端口映X宿主机6500

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

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

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

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

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

原创文章,作者:starterknow,如若转载,请注明出处:https://www.starterknow.com/106110.html

联系我们