Tag: django

docker-compose与Dokerfile入口点脚本冲突

我试图用我的Django应用程序创build一个Docker镜像,但不幸的是我遇到了麻烦,试图运行我的入口点脚本。 Docker退出eith代码错误127并显示以下消息: /docker-entrypoint.sh:忽略/docker-entrypoint-initdb.d/* 您可以在相应的configuration文件下面find: Dockerfile FROM python:2.7 ENV PYTHONUNBUFFERED 1 RUN mkdir -p /web/src ADD . /web/src WORKDIR /web/src RUN pip install -U pip RUN pip install -r requirements.txt -U RUN chmod u+x docker-entrypoint.sh ENTRYPOINT ["/bin/bash", "docker-entrypoint.sh"] docker-entrypoint.sh #!/bin/bash python manage.py migrate python manage.py collectstatic –noinput touch /srv/logs/gunicorn.log touch /srv/logs/access.log tail -n 0 -f /srv/logs/*.log […]

在docker容器中运行django

我试图做一个在Docker容器中运行的Django应用程序的简单示例。 使用这个图像https://hub.docker.com/_/django/只是为了简单。 不要告诉我,我不应该在生产中使用它:)应用程序是非常简单的,我很好,使用非常基本的Django服务器。 所以, 问题是我试图运行容器图像时,总是得到这个错误 C:\Users\slipo\PycharmProjects\simple_blog>docker run -p 8000:8000 my-blog python: can't open file './manage.py runserver 0.0.0.0:8000 –settings=mysite.settings.prod': [Errno 2] No such file or directory 但是,./ ./manage.py和mysite.settings.prod在容器中都存在。 容器创build日志显示文件存在: Step 7 : RUN ls -a —> Running in 932ed2ad3e4c . .. .idea Dockerfile blog manage.py mysite requirements.txt templates —> e7f938c1cbf2 Removing intermediate container 932ed2ad3e4c Step 8 […]

在部署上将静态文件复制到卷上?

如何确保在部署Django应用程序期间创build的最新静态文件被复制到卷中? 我的web容器定义了一个Django应用程序,它在构build时运行python manage.py collectstatic –noinput –clear 。 这将所有静态文件移动到/usr/src/app/static_files目录中。 我希望这些静态文件在静态数据卷中可用,以便nginx可以为它们提供服务。 换句话说, /usr/src/app/static_files的内容应该覆盖staticdata卷中现有文件的内容。 否则,nginx将继续提供较旧的副本,如css文件和图像,而不是由Django收集的更新文件。 这可能吗? 感觉就像我为此目的而使用卷是错误的,因为它们的目的是持续数据。 编辑1:是否有一种方法来创build一个“临时卷”,当应用程序部署,这是应用程序被部署时被破坏? 如果是这样,我该怎么做,我怎么让这个卷也提供给nginx? 编辑2:如果我没有错误的select将使用绑定挂载,但我已经读过,应尽可能避免这些应用程序不依赖于主机的文件系统的结构。 version: '3.3' services: web: restart: always build: ./web env_file: – web-variables.env expose: – "8000" ports: – "8000:8000" volumes: – staticdata:/usr/src/app/static_files – staticdata:/usr/src/app/uploaded_files command: "./django-entrypoint.sh" depends_on: – database nginx: restart: always build: ./nginx ports: – "80:80" – "443:443" volumes: […]

Docker,Web应用程序的静态文件。 最佳实践?

在Docker的Web部署中,人们如何倾向于处理静态资产? 例如,在容器中部署的django应用程序中,应用程序服务器是否提供了容器中的静态文件,或者将它们同步到另一台服务器以供Web服务器使用,还是使用CDN? 如果不从应用程序容器提供服务,则何时将文件推送到CDN或Web服务器:作为容器构build的一部分,还是作为构build中的第二个进程,以及如何确保两个步骤保持同步?

在遵循docker-compose教程时没有创builddjango应用程序

我正在关注docker-compose教程,试图弄清楚如何获得一个django应用来部署: http : //docs.docker.com/compose/django/ 一切都很顺利(应用程序甚至可以工作!),但是django项目文件夹composeexample不是在我的本地项目目录中创build的。 我留下了一个工作“它工作!” 运行后页面: $ docker-compose run web django-admin.py startproject composeexample . 但是我不能继续编辑composeexample/settings.py ,正如本教程所示:该文件夹在我的机器上不存在(它存在于容器中,但对我来说不好)! 这个教程是错误的吗? 我不正确吗? 谢谢! 更新: 这是问题所在,我使用docker-machine通过远程docker实例运行整个进程。 使用远程docker机器时,有关本地文件夹共享的规则是否有所不同?

Docker与Django / PostgreSQL

我是Docker的新手,我实际上尝试这个教程: https : //docs.docker.com/compose/django/ 有几件事我不明白: “代码”文件夹永远不会被创build。 一旦使用“docker-compose up”命令启动容器,我如何访问postgreSQL命令行? 在本教程的“创build一个Django项目”部分,第一点是“切换到您的项目目录的根目录”。 但是如果我理解正确的教程,我已经在这个文件夹中。 有人可以帮助我吗? 感谢提前。

django_debug_toolbar和Docker

所以我让Docker和Django在本地工作,首先通过Dockerfile构build一个映像,然后使用Fig获取postgres映像,将其链接到基本映像,然后运行本地服务器。 一切正常,除了django_debug_toolbar。 出于某种原因,它不会显示出来。 在internal_ips中也有dockerhost ip。 任何人都可以帮助我吗? Docker通过boot2docker在mac上运行。 谢谢! 我的设置: init .py import os if 'DEBUG' not in os.environ or not os.environ['DEBUG']: from .local import * else: pass base.py """ common and global settings """ from sys import path from os import environ from os.path import abspath, basename, dirname, join, normpath from django.core.exceptions import ImproperlyConfigured import […]

由docker-compose连接到postgres的Django连接

我的django项目无法连接到postgres数据库容器。 我该怎么做? 它崩溃的命令python manage.py collectstatic –noinput && python manage.py makemigrations blog && python manage.py migrate 。 我知道docker运行命令创build一个新的容器,但我有更多的命令作为一个bash docker-compose.yml。 它应该工作,不是吗? 我的Dockerfile : FROM python:3.6-alpine MAINTAINER Name <name@domain> ENV PYTHONUNBUFFERED 1 ENV INSTALL_PATH /heckblog RUN mkdir -p $INSTALL_PATH WORKDIR $INSTALL_PATH COPY requirements.txt requirements.txt # make available run pip install psycopg2 RUN apk update && \ apk add […]

如何在Docker容器中连接外部mysql服务器

我在Docker容器中构build了一个Django应用程序。 并在IP 192.168.1.13服务器上运行它。 我设置了Django的settings.py来连接192.168.1.6的mysql服务器。 它是一个外部独立的服务器。 但是当我运行容器时,总是说用户xxx@192.168.1.13的访问被拒绝。 Django如何连接到docker主机IP但不是定义的服务器IP? 任何机构都可以帮我解决这个问题? 非常感谢。 有两台服务器。 服务器A是192.168.1.13。 有一个Django Docker容器在上面运行。 服务器B是192.168.1.6。 这是一个MySQL服务器。 而我想django容器连接服务器B.但它报告无法连接到它的主机服务器。

docker – 撰写服务版本错误

我试图从官方docker页面运行这个例子 。 不过,我收到以下错误: 错误:在文件'./docker-compose.yml'服务'版本'没有任何configuration选项。 docker-compose.yml中的所有顶级密钥必须映射到configuration选项的字典。 运行以下命令时: $ docker-compose run web django-admin.py startproject composeexample . 我在用: $ docker-compose -version docker-compose version 1.5.2, build 7240ff3 在Ubuntu 16.04上 找不到任何有用的post/build议谷歌search问题。