項目結構:
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決定
效果如下:
**注意暴露端口號