Tag: django

用Docker开发Django

我正在尝试为使用Docker的Django Web应用程序创build自己的开发环境。 我的问题是我应该如何设定它的发展? 我已经创build了一个使用Django开发服务器和db的Dockerfile ,这很好吗? 还是应该使用独立的容器与专用的Web和数据库服务器? 我应该如何创build新的迁移? 比方说,我使用-v将代码安装到容器中,对模型的更改需要创build新的迁移,因此,是否应该使安装可写,并使用容器内的创build迁移? 还有什么其他的select? 我正在考虑向Dockerfile添加一条RUN指令,在迁移没有改变时, Dockerfile将应用迁移以便使用caching。 这是一个很好的做法吗?

将Django Python应用程序放入Docker容器后获取404错误消息

我想获取一些模板信息显示在从Docker container提供的网页上。 它使用uWSGI 。 该模板的名称是base.html 有一些“装饰”与位于static directory的base.html文件相关联。 更具体地说,它驻留在static/wforms/assets目录中。 以下是assets目录在模板中的使用方式。 <link href="{% static 'wforms/assets/global/plugins/font-awesome/css/font-awesome.min.css' %}" rel="stylesheet" type="text/css" /> <link href="{% static 'wforms/assets/global/plugins/simple-line-icons/simple-line-icons.min.css' %}" rel="stylesheet" type="text/css" /> <link href="{% static 'wforms/assets/global/plugins/bootstrap/css/bootstrap.min.css' %}" rel="stylesheet" type="text/css" /> 每当我去到一个使用base.html模板的页面,装饰都没有find,结果网页是一团糟。 一切工作正常在PyCharm。 将所有内容移动到Docker容器中的目录结构时,都会出现问题。 以下是PyCharm中的目录结构。 我开始像这样的容器: docker run -it –rm -p 8888:8888 -v /home/dockcclubdjango/apps/wforms/assets:/code/backendworkproj/static/wforms/assets –name my-running-app my-python-app 作为参考, / home / dockcclubdjango / […]

为什么nginx在向链接的docker容器做`uwsgi_pass`时返回502?

我使用Docker Compose编排由Django Web应用程序和nginx反向代理组成的多容器应用程序。 我正在盯着一个简单的testing案例,但我已经遇到了障碍。 应用程序应通过uwsgi_pass通过networking套接字( frontend:8000 )将所有的请求传递给Django应用程序。 但是,在启动docker-compose up的应用程序并且看到没有错误消息后,任何请求/在控制台中产生以下错误消息: gateway_1 | 2016/01/11 15:45:12 [error] 8#0: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.99.1, server: localhost, request: "GET / HTTP/1.1", upstream: "uwsgi://172.17.0.2:8000", host: "192.168.99.100:8000" gateway_1 | 2016/01/11 15:45:12 [error] 8#0: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.99.1, […]

在docker集装箱运行django工人和达芙妮

我有在docker容器中运行的django应用程序。 最近我想通了,我需要添加websockets接口到我的应用程序。 我使用naphx和redis后面的daphne作为caching。 问题是我必须在1个容器中运行django工作人员和daphne。 在容器启动时运行的脚本: #!/usr/bin/env bash python wait_for_postgres.py python manage.py makemigrations python manage.py migrate python manage.py collectstatic –no-input python manage.py runworker –only-channels=http.* –only-channels=websocket.* -v2 daphne team_up.asgi:channel_layer –port 8000 -b 0.0.0.0 但是,它会挂在一个工人身上。 我尝试了nohup,但似乎不起作用。 如果我直接从Docker exec容器运行daphne,一切正常。

在docker-compose运行命令后,Docker compose:命令

我遵循本教程: Python Docker撰写在本教程中,它将创build一个docker撰写文件: version: '2' services: db: image: postgres web: build: . command: python manage.py runserver 0.0.0.0:8000 volumes: – .:/code ports: – "8000:8000" depends_on: – db 之后,运行docker compose命令来构build项目: docker-compose run web django-admin.py startproject composeexample . 我不知道的是:当我阅读另​​一个docker教程时,我们经常运行docker-compose run来运行项目。 这些命令的含义是什么: web django-admin.py startproject composeexample . 据我所知,这个命令意味着:首先创build一个python项目,然后调用docker-compose.yml进行configuration。 对?

Django应用程序服务器挂起/不会在Docker Compose中启动

我试图在Docker Compose中启动一个简单的Django应用服务器,并与Postgres容器配对。 它像我所期望的一样,启动入口点脚本,但它似乎从来没有真正运行Django应用程序服务器(这应该是最后一步,并保持运行)。 我知道它运行入口点脚本,因为迁移步骤运行。 应用程序服务器从不输出任何预期的输出,而8000端口从不响应。 如果有问题,我正在使用Docker for Mac(stable)。 我的Django应用程序容器的Dockerfile: FROM ubuntu:16.04 COPY my_app /my_app RUN apt-get update \ && apt-get install -y python3 python3-psycopg2 python3-pip RUN apt-get install -y nodejs npm WORKDIR /my_app RUN pip3 install -r requirements.txt RUN npm install bower RUN python3 manage.py bower install RUN python3 manage.py collectstatic –no-input EXPOSE 8000 COPY […]

多个docker为相同的代码库构成环境

我为我的Django项目使用Cookiecutter脚手架,并遵循本地泊坞窗环境logging的相同工作stream程。 我有一个本地设置dev.yml撰写文件。 我有一个testing环境设置,这是非常不同的本地设置(安装testing依赖项,具有不同的testing专用服务)称为test.yml。 我无法同时为本地开发和testingenv启动docker撰写envs。 当我做一个: $ docker-compose -f dev.yml up -d 所有的dev容器都能正常运转。 之后我做了一个: $ docker-compose -f test.yml up -d 它只是重新创build上述所有容器。 我应该使用不同的networking吗? 还是应该给test.yml中的应用程序和服务提供不同的名称? 对同一个代码库同时运行不同的Docker组合的最佳做法是什么? 目前,我在不同的path检查代码,并启动testing环境,这似乎工作。

在django开发服务器运行的时候,我怎样才能curl127.0.0.1/8000?

我从来没有碰到过,因为我总是可以运行开发服务器,在terminal打开一个新的标签,并从那里curl。 我现在无法做到这一点,因为我从Docker容器运行Django Development服务器,所以如果打开一个新的选项卡,我将在本地shell而不是docker容器中。 我怎样才能离开开发服务器运行,仍然能够curl或运行其他命令? 当我运行开发服务器时,我留下了这个消息: Django version 1.10.3, using settings 'test.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C. 所以无法input任何命令。

没有名为rest_framework的模块。 Django + Docker

我已经安装了djangorestframework markdown和django filter ,在django docker容器的virtualenv中使用pip,通过pip freeze检查。 OS X中的绝对path是/Users/user/project/denv/lib/python2.7/site-packages 。 在settings.py中添加了'rest_framework',但仍然在'rest_framework', docker-compose up得到以下错误。 我想这与错误的道路有关,但不知道如何解决这个问题。 Traceback (most recent call last): web_1 | File "/usr/local/lib/python2.7/site-packages/django/utils/autoreload.py", line 226, in wrapper web_1 | fn(*args, **kwargs) web_1 | File "/usr/local/lib/python2.7/site-packages/django/core/management/commands/runserver.py", line 113, in inner_run web_1 | autoreload.raise_last_exception() web_1 | File "/usr/local/lib/python2.7/site-packages/django/utils/autoreload.py", line 249, in raise_last_exception web_1 | six.reraise(*_exception) web_1 | File […]

将docker添加到django项目中:没有这样的文件或目录

我正在尝试将docker支持添加到已经存在的django项目中。 我有一个Dockerfile ,一个Dockerfile docker-compose和一个gunicorn.sh ,我用它作为脚本来启动整个事情。 这个脚本在我的shell中运行时工作正常。 当我运行: docker-compose -f docker-compose.yml up 我得到这个错误: ERROR: for intranet_django_1 Cannot start service django: oci runtime error: container_linux.go:247: starting container process caused "exec: \"/srv/gunicorn.sh\": stat /srv/gunicorn.sh: no such file or directory" 我到底做错了什么? 我是一个docker工人,所以任何解释将是最受欢迎的。 Dockerfile看起来像这样: FROM python:3 ENV PYTHONUNBUFFERED 1 ENV DB_NAME unstable_intranet_django ENV DB_USER django ENV DB_PASSWORD ookookEEK ENV DB_HOST […]