项目结构:
1,dockerfile
FROM python:3.7
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 [ "python", "./manage.py", "runserver", "0.0.0.0:8000"]
2,pip.conf
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
3,requirements.txt
这里可以用命令自动生成
pip freeze > requirements.txt
4,上传整个项目到服务器
注意:虚拟环境不必加进去
因为 docker 会自动去下载依赖
而且虚拟环境占用 100M+- 的空间,上传的时间够等 5+ 分钟
5,生成docker镜像
CD项目和 dockerfile 同一级的目录,也就是项目的目录 (注意后面的 .
不要省略)
docker build -t hello_python .
dockerfile buid 镜像的时候,镜像大小动不动就 800+ M,漫长的等待。
执行 docker images
6,开启容器
docker run -it --rm -p 8000:8000 --name hello hello-python:latest
注意:第二个8000端口号是dockerfile决定
效果如下:
**注意暴露端口号