docker打包django项目

tech2025-12-07  5

1、Django目录

drwxr-xr-x. 2 root root 4096 Aug 10 11:22 logs -rw-r--r--. 1 root root 837 Aug 10 11:22 manage.py -rw-r--r-- 1 root root 114 Aug 31 13:47 pip.conf drwxr-xr-x. 9 root root 4096 Aug 10 11:22 PYTHON_project -rw-r--r--. 1 root root 1947 Aug 10 22:45 requirements.txt

dockerfile是用来构建镜像来用的 pip.conf是配置下载源 requirements.txt是当前所需要的环境 manage.py是启动项目的脚本

2.dockerfile内容

RUN mkdir -p /usr/src/app WORKDIR /usr/src/app COPY pip.conf /root/.pip/pip.conf COPY requirements.txt /usr/src/app/ RUN pip install -r /usr/src/app/requirements.txt RUN rm -rf /usr/src/app COPY . /usr/src/app/ CMD [ "python3", "./manage.py", "runserver", "0.0.0.0:8000"]

2.1 pip.conf内容为

[global]   index-url = https://pypi.tuna.tsinghua.edu.cn/simple/ [install]   trusted-host= pypi.tuna.tsinghua.edu.cn 我一开始用的是阿里云的pip源,发现有些模块的版本找不到,就修改成了清华的pip源,最后镜像打成功了,下面是pip国内的一些镜像源   阿里云 http://mirrors.aliyun.com/pypi/simple/   中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/   豆瓣(douban) http://pypi.douban.com/simple/   清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/   中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/

2.2 requirements.txt文件是一些项目需要用到的模块环境

可以通过pip freeze >requirements.txt命令将项目所需模块打包

2.3修改项目中的settings.py文件ALLOWED_HOSTS=[*]

3.开始docker打包

docker build -t django:latest.

4.启动容器

docker run -it -d --restart=always -p 8000:8000 --name django django:latest 命令解释: -d 表示容器在后台运行 –restart=always 表示容器开机自启 -p 表示将容器端口8000映射到主机端口8000上面 –name 表示给容器起的名字

5.等待容器up状态,通过公网ip:8000访问应用

docker打包django项目完成

最新回复(0)