Sta*_*ute 5 python django docker dockerfile docker-compose
我无法确定如何对现有的Django应用进行docker化。我已经阅读了Docker的这本官方手册,解释了如何在创建Docker映像期间创建Django项目,但是我需要使用相同的方法对现有项目进行Docker化。
这种方法的主要目的是,我不需要一直在本地构建docker映像,而我想要实现的是将我的代码推送到已连接docker-hub watcher的远程存储库,并且代码库已更新,正在服务器上自动构建。
现在,我的Dockerfile看起来像:
FROM python:3
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install Django
RUN pip install djangorestframework
RUN pip install PyQRCode
ADD . /code/
Run Code Online (Sandbox Code Playgroud)
谁能解释我应该如何构成Dockerfile,是否需要使用docker-compose.yml
(如果是,如何?)来实现上述功能?
此问题的解决方案:
FROM python:3
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
RUN pip install *name of package*
RUN pip install *name of another package*
ADD . /code/
EXPOSE 8000
CMD python3 manage.py runserver 0.0.0.0:8000
Run Code Online (Sandbox Code Playgroud)
要么
FROM python:3
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/
EXPOSE 8000
CMD python3 manage.py runserver 0.0.0.0:8000
Run Code Online (Sandbox Code Playgroud)
requirements.txt应该是软件包的简单列表,例如:
Django==1.11
djangorestframework
pyqrcode
pypng
Run Code Online (Sandbox Code Playgroud)
这个问题太宽泛了。您创建的 Dockerfile 会发生什么情况?
除非您有多个需要交互的容器,否则您不需要 docker compose。
从当前 Dockerfile 中得到的一些一般观察结果:
pip install -r requirements.txt
) 中声明依赖项,并使用固定版本号 ( foopackage==0.0.1
) 以确保可重复构建。cd /code/; pip install .
而不是直接添加代码目录。 归档时间: |
|
查看次数: |
1875 次 |
最近记录: |