三、docker应用
初始化信息 首先创建一个名为 djangodocker 的新目录作为我们的项目目录 在这个目录里,创
初始化信息
- 首先创建一个名为 djangodocker 的新目录作为我们的项目目录
- 在这个目录里,创建一个名为 app 的子目录,django 项目代码存放于此。
- 在 djangodocker 目录下,创建一个名为 requirements.txt 的文件,将 diango 需要的依赖都存放到 requirements.txt 中。
- 由于开发环境使用的是uwsgi,所以在 djangodocker 目录下,创建一个uwsgi.ini 存放 uwsgi 的初始启动信息。
- 在 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 参数是信赖其参数后的镜像源
- 本来是打算使用cmd.sh 自动启动uwsgi 的,但是貌似出了一点问题。
创建镜像
docker build -t djangodocker .
注:djangodocker 是创建镜像的名称。
创建并启动容器
docker run -p 8000:8000 -dit djangodocker /bin/bash
目前只有这种方法 docker 容器不会启动后就立即退出。