← 返回文章

三、docker应用

初始化信息 首先创建一个名为 djangodocker 的新目录作为我们的项目目录 在这个目录里,创

初始化信息

  1. 首先创建一个名为 djangodocker 的新目录作为我们的项目目录
  2. 在这个目录里,创建一个名为 app 的子目录,django 项目代码存放于此。
  3. 在 djangodocker 目录下,创建一个名为 requirements.txt 的文件,将 diango 需要的依赖都存放到 requirements.txt 中。
  4. 由于开发环境使用的是uwsgi,所以在 djangodocker 目录下,创建一个uwsgi.ini 存放 uwsgi 的初始启动信息。
  5. 在 djangodocker 目录下,创建一个名为 Dockerfile 的文件,写入以下内容:
FROM python:3.7

WORKDIR /app/blogproject
COPY app /app 
COPY requirements.txt /app/blogproject/requirements.txt
COPY uwsgi.ini /app/blogproject/uwsgi.ini
COPY cmd.sh /

RUN pip install -r requirements.txt -i http://pypi.mirrors.ustc.edu.cn/simple/ --trusted-host pypi.mirrors.ustc.edu.cn


EXPOSE 8000 8000 


CMD ["/cmd.sh"] 

注:pip 的参数 -i 是使用 -i 后的镜像源;--trusted-host 参数是信赖其参数后的镜像源

  1. 本来是打算使用cmd.sh 自动启动uwsgi 的,但是貌似出了一点问题。

创建镜像

docker build -t djangodocker . 

注:djangodocker 是创建镜像的名称。

创建并启动容器

docker run  -p 8000:8000  -dit djangodocker /bin/bash 

目前只有这种方法 docker 容器不会启动后就立即退出。

END