Tag: django

Docker环境variables和Django数据库设置

我正在用Django运行一个Docker容器。 这是我的dev.yml文件: version: '2' volumes: postgres_data_dev: {} postgres_backup_dev: {} services: postgres: build: ./compose/postgres volumes: – postgres_data_dev:/var/lib/postgresql/data – postgres_backup_dev:/backups environment: – POSTGRES_USER=sorbetcitron django: build: context: . dockerfile: ./compose/django/Dockerfile-dev command: python ./manage.py runserver_plus 0.0.0.0:8000 depends_on: – postgres environment: – POSTGRES_USER=sorbetcitron – USE_DOCKER=yes – DJANGO_DEBUG=True – DATABASE_URL=postgres://django:django@localhost:5432/sorbetcitron volumes: – .:/app ports: – "8000:8000" links: – postgres pycharm: build: […]

Docker和Nginx的proxy_pass之间的容器

我正在尝试运行Docker,Nginx,Gunicorn和Django的configuration。 目前我成功地设法使用这个命令来运行我的Gunicorn和Django应用程序的容器: docker run –publish 8003:8000 user/app:latest 现在当我连接到本地主机:8003我看到我的应用程序正在运行。 在这一点上,我想在容器中设置我的Nginx指向这个应用程序,只要我浏览到localhost/app 我的Nginx.conf文件如下所示: … http { server { listen 80; location /app { proxy_pass http://127.0.0.1:8003; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } } … 我运行它: docker run –publish 80:80 user/nginx:latest 这是行不通的,我不能把我的头围绕这个,谢谢任何想法如何解决这个问题!

在Docker容器中使用MySQL

我有点新的Docker,我正在尝试使用MySQL为Django应用程序构build一个图像。 我遇到的问题是,运行我的图像后,我得到以下错误: django.db.utils.OperationalError:(2002,“无法通过套接字连接到本地MySQL服务器”/ var / run / mysqld / mysqld。袜子(111)“) 。 作为我使用的图像的基础FROM django:python2 ,我已经安装了服务器使用以下命令: RUN echo "mysql-server mysql-server/root_password password X" | debconf-set-selections RUN echo "mysql-server mysql-server/root_password_again password X" | debconf-set-selections RUN apt-get update && apt-get install -y mysql-server 为了解决这个问题,我尝试了多种解决scheme,我在网上find了这样的解决scheme: RUN touch /var/run/mysqld/mysqld.sock RUN chmod -R 755 /var/run/mysqld/mysqld.sock EXPOSE 3306 可悲的是,没有任何工作。 我也确定服务器正在运行,但问题仍然存在。

Django CMSfile upload失败

[更新] 我设法上传一个小文件(但还不是一个大的图像)。 ../media/filer_public/子目录正确创build和文件正确上传。 需要调查nginxconfiguration。 [OP] 我已经以超级用户身份login到新的Django CMS系统,但无法添加文件pipe理器图像或添加文件pipe理器文件到页面,因为file upload失败; 非常短暂地闪烁其上传graphics,但实际上并没有上传任何东西。 我相信所有settings.py都是正确的,因为静态工件被正确渲染, Nginx具有可信的相似locations用于media和static目录。 我相信所有的文件和目录权限和所有权是正确的; 即Nginx具有Django CMS应用程序目录的用户和/或组所有权,并且权限是正确的。 Postgres表filer_folder有一行用于编辑页面时创build的新文件夹文件夹,但在文件系统中没有创build相应的目录。 我可以添加正确保存的文本和新的文本块插件。 Django CMS运行在一个Docker容器中,我已经确认它具有对Docker卷的rw (读/写)访问权限。 我看到web日志中没有任何exception。 我怎样才能找出什么是(不)发生?

dockerize不会延迟容器的初始化

我现在准备为我的项目的图像。 我使用dockerize来控制我的初始化。 我不确定硬件代码是由docker给出的IP地址是否可行? 问题: backend不会等到database首先完成初始化。 terminal说 backend_1 | django.db.utils.OperationalError: could not connect to server: Connection refused backend_1 | Is the server running on host "sakahama_db" (172.21.0.2) and accepting backend_1 | TCP/IP connections on port 5432? 这是我的文件: devdb.dockerfile FROM postgres:9.5 # Install hstore extension COPY ./Dockerfiles/hstore.sql /docker-entrypoint-initdb.d RUN mkdir -p /var/lib/postgresql-static/data ENV PGDATA /var/lib/postgresql-static/data hstore.sql create […]

为什么CMD不能在我的Docker文件中工作?

我有几个Dockerfiles CMD似乎不运行。 这里是一个例子(一直在底部)。 ########################################################## # Set the base image to Ansible FROM ubuntu:16.10 # Install Ansible, Python and Related Deps # RUN apt-get -y update && \ apt-get install -y python-yaml python-jinja2 python-httplib2 python-keyczar python-paramiko python-setuptools python-pkg-resources git python-pip RUN mkdir /etc/ansible/ RUN echo '[local]\nlocalhost\n' > /etc/ansible/hosts RUN mkdir /opt/ansible/ RUN git clone http://github.com/ansible/ansible.git /opt/ansible/ansible […]

服务大型数据集w / Docker,nginx和django

我正在研究一个涉及大型video数据集的研究项目(GB的数量为100,在不久的将来可能会有多个TB)。 我对Linux,系统pipe理员和设置服务器相当新,所以请耐心等待。 我提供了相当多的信息,让我知道是否还有其他任何有用的信息。 我使用的是Ubuntu,Docker(使用docker-compose),nginx,Python3.5和django 1.10 上传大数据(60GB)数据集导致以下错误: $ sudo docker-compose build postgres uses an image, skipping Building django Step 1 : FROM python:3.5-onbuild # Executing 3 build triggers… Step 1 : COPY requirements.txt /usr/src/app/ —> Using cache Step 1 : RUN pip install –no-cache-dir -r requirements.txt —> Using cache Step 1 : COPY . /usr/src/app ERROR: […]

如何使redis BROKER_URLdynamic部署到AWS实例

我正在部署一个Django应用程序,它使用芹菜任务,并具有redis作为代理后端。 我使用docker进行部署,我的生产服务器是一个亚马逊aws实例。 我面临的问题是Django的设置是不同的本地主机: BROKER_URL = 'redis://localhost:6379' CELERY_RESULT_BACKEND = 'redis://localhost:6379' 和我所有的unit testing工作。 docker工人失败,除非我改变它 BROKER_URL = 'redis://redis:6379' CELERY_RESULT_BACKEND = 'redis://redis:6379' 我的问题是,如何识别我的部署服务器中的redis broker url? 会是redis://redis:6379 ? PS:对于heroku服务器,有一个用于识别redis url调用REDISTOGO_URL的插件。 有没有类似的亚马逊aws服务器?

Docker将安装需求组合成一个共享目录

我有几个容器,每个容器都有自己的Dockerfile。 每次我在build造时,使用docker-compose build ,每个容器都运行自己的需求; 可以从requirements.txt文件(RUN pip install -r requirements.txt)或者直接从Dockerfile (RUN pip install Django, celery, …) 。 许多要求在一些容器(几乎全部)中是常见的。 它工作正常,但是build立时间有问题。 从头开始构build每个容器需要将近45分钟的时间。 (让我说删除所有的图像和容器后) 有没有办法将所有的需求安装在所有容器的公共目录中,这样每次build立一个新的容器时我们都不需要安装通用的需求? 我使用的Docker-compose是版本2。

Pip不在docker上安装软件包

所以我有一个用Django的cookiecutter创build一个docker的形象,我需要安装额外的Python包为我的应用程序工作。 试图安装的包是django markdown ,所以我编辑了需求文件夹中的base.txt,当我运行命令时, sudo docker-compose -f dev.yml run django pip install -r requirements/base.txt它显示我这个输出: 所以它看起来像它实际上安装包,但如果我再次运行它看起来像它的第一次,并试图再次安装它,如果我尝试运行我的Django项目我得到ImportError: No module named 'django_markdown' 。 有什么可能导致这个问题,我应该做什么解决方法? 我已经尝试安装不同的软件包,即使使用sudo docker-compose -f dev.yml run django pip install [package name]命令sudo docker-compose -f dev.yml run django pip install [package name]得到相同的结果