Tag: django

在Docker容器中阻塞Celery task.delay

我在我的Django项目中使用芹菜。 它适用于我的MacBook和CentOS虚拟机。 当我在add.delay容器中运行它时,包含add.delay ( add是一个任务)方法的请求始终被阻塞。 我在github上创build了一个演示项目: https : //github.com/fengyouchao/proj_test 我的任务: @shared_task def add(x, y): return x + y 我的看法: def index(request): a = int(request.GET.get('a', 1)) b = int(request.GET.get('b', 2)) add.delay(a, b) return HttpResponse("Hello world") def hello(request): return HttpResponse("hello") 在演示项目中,我在docker-compose.yml中创build了三个服务: web – 运行“manage.py runserver 0.0.0.0:8000”的服务 芹菜 – 运行“芹菜”的服务 rabbitmq – 运行rabbitmq-server的服务 运行服务 docker-compose up testing curl […]

将Django连接到现有的Docker Postgres容器

我有我需要将我的Django项目连接到现有的Docker Postgres容器的情况。 简而言之,当我执行python manage.py dbshell ,django应该连接到现有的Docker Postgres容器。 目前我的Django连接到sqlite3数据库。 下面是我的settings.py片段连接到数据库。 DATABASES = { 'default': { # 'ENGINE': 'django.db.backends.postgresql_psycopg2', # 'NAME': 'etag_auth', # 'USER': 'etag_master', # 'PASSWORD': 'thisismypass', # 'HOST': 'cybercom_postgres', # 'PORT': '5432' 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } # 'etag': { # 'ENGINE': 'django.db.backends.postgresql_psycopg2', # 'NAME': 'etag', # 'USER': 'etag_master', # 'PASSWORD': 'thisismypass', # 'HOST': […]

如何访问docker-compose中的Postgres数据库

我对Postgres和Docker相当陌生,但是我正在用一个带有postgresql数据库的docker运行的Django构build一个webapp。 我想通过命令提示符或pgweb查看我的Postgres数据库。 不幸的是,我似乎无法find数据库,我尝试使用postgres psqlterminal命令,但我的数据库没有列在里面。 我的问题是,如何将postgresql数据库存储在docker-compose容器中。 我是否需要手动进入容器,然后查看数据库? 我的最终目标是能够在postgresql数据库中看到我所有表和数据的列表。 任何文档解释如何postgresql数据库交互与docker组成,将不胜感激。 谢谢! 我刚刚添加了Pgweb,但似乎没有工作 Local.YML version: '2' volumes: postgres_data_local: {} postgres_backup_local: {} services: django: build: context: . dockerfile: ./compose/local/django/Dockerfile depends_on: – postgres volumes: – .:/app environment: – POSTGRES_USER=vicki – USE_DOCKER=yes ports: – "8000:8000" command: /start.sh postgres: build: context: . dockerfile: ./compose/production/postgres/Dockerfile volumes: – postgres_data_local:/var/lib/postgresql/data – postgres_backup_local:/backups environment: – POSTGRES_USER=vicki […]

在Docker(Cloudron)中刷新Django应用程序的值

所以我有一些Python的知识,但是与Django和Docker是一个完整的初学者。 我的问题是:我打包了一个非常基本的Django应用程序到一个Docker应用程序(实际上是一个Cloudron应用程序,Cloudron是一个基于Docker的解决scheme)。 该应用程序现在正在我的服务器上运行( eth.ncollig.net )。 目的是给我以太的价格。 但view.py脚本运行在服务器上的应用程序启动时,variables的值,以欧元为单位的ether的价格已被设置为251.7,并且从不刷新。 我希望在每次新的页面加载时重新计算这个variables的值。 我该怎么做才能做到这一点? 在此先感谢您的帮助。 这是我的views.py: from django.http import HttpResponse from coinbase.wallet.client import Client client = Client('yhKYHa8AkQaHXDMc','quspNs86vAvsRtyuGmE3nC5o9Nki2pqP') rates = client.get_exchange_rates(currency='ETH') eth_rate = rates['rates']['EUR'] def index(request): return HttpResponse("1 ETH = %s EUR" % eth_rate) 这是我的start.sh,用来启动gunicorn服务器: #!/bin/bash # Start Gunicorn processes echo Starting Gunicorn. exec gunicorn ethprice.wsgi:application \ –bind 0.0.0.0:8000 \ –workers […]

芹菜没有findpostgres容器

我在我的项目中使用django和芹菜与docker工人。 在docker,我有三个容器:应用程序,芹菜,postgres 在芹菜任务中,当我试图得到一个模型: @app.task def test(): Model.objects.get(pk=1) ,我有这个错误: Is the server running on host "127.0.0.1" and accepting TCP/IP connections on port 5432? 那个错误来自芹菜容器 。 如果我删除这个lodel电话,一切运作良好。 postgres容器在端口5432,它适用于应用程序容器。 我想这也许是因为当celery任务执行时,任务本身不是django项目的一部分,所以它没有正确的configuration。 我试过django芹菜,但有同样的错误。

testing运行在gitlab-ci失败,因为Postgres不可见

在Docker中使用gitlab-ci的testing失败,因为Postgres服务不可访问。 在我的开发环境中,我成功地运行了testing: $docker-compose -f local.yaml run web py.test 但在gitlab中, – docker run –env-file=.env_dev $CONTAINER_TEST_IMAGE py.test -p no:sugar的命令- docker run –env-file=.env_dev $CONTAINER_TEST_IMAGE py.test -p no:sugar失败: 9bfe10de3baf: Pull complete a137c036644b: Pull complete 8ad45b31cc3c: Pull complete Digest: sha256:0897b57e12bd2bd63bdf3d9473fb73a150dc4f20cc3440822136ca511417762b Status: Downloaded newer image for registry.gitlab.com/myaccount/myapp:gitlab_ci $ docker run –env-file=.env $CONTAINER_TEST_IMAGE py.test -p no:sugar Postgres is unavailable – sleeping Postgres […]

Dockerized Django应用程序获取错误:无法打开python文件my_project / wsgi.py

我正在尝试创build一个DJang应用程序的Docker化版本。 该应用程序是使用以下命令创build的: docker build -t my-app . 该应用程序开始使用: docker container run –name my-app –detach my-app 当Django使用PyCharm下的工具运行时,一切正常。 只有当试图将常规的DJango应用程序转换为Docker化的应用程序时,才会发生问题。 我是DJango与Docker混合的新手 – 所以 – 我目前不确定错误的含义或者为什么会发生。 我怎样才能解决这个问题? 信息如下。 在启动应用程序时,在错误日志中出现以下错误: PEP 405 virtualenv detected: /venv Set PythonHome to /venv Python main interpreter initialized at 0x559036d279e0 python threads support enabled your server socket listen backlog is limited to 100 connections your […]

docker撰写无法连接postgresql数据库与Django

我的django应用程序无法连接到postgresql。 我使用Django的Dockerfile,并使用docker-compose和postgres官方图像构build。 泊坞窗,compose.yml version: '2' services: db: image: eg_postgresql expose: – 5432 environment: – POSTGRES_PASSWORD=docker – POSTGRES_USER=docker – POSTGRES_DB=postgres web: build: . command: python3 manage.py runserver 0.0.0.0:8000 volumes: – .:/test_application ports: – "8000:8000" links: – "db:db" environment: – DATABASE_URL=postgres://docker:docker@db:5432/postgres – DJANGO_SECRET_KEY=x7-g-xu^h5k%h8860!7ksn=@)7q9frn9_l6tmefvf)y=0)d!uh 输出: conn = _connect(dsn, connection_factory=connection_factory, **kwasync) django.db.utils.OperationalError: could not connect to server: Connection refused […]

达芙妮Djangofile upload大小限制

我正在使用套接字和http连接达芙妮。 我正在运行4个工作容器,现在在Docker容器中运行一切。 如果我尝试上传一个400MB的文件,我的daphne服务器失败。 它适用于小于15MB的文件。 我的docker容器退出,错误代码137.我没有在达芙妮日志中得到任何错误。 达芙妮容器刚刚死亡,但工人容器继续运行。 有谁知道是否有一种方法来增加对达芙妮的上传限制,或者我错过了其他的东西? 我通过daphne -b 0.0.0.0 -p 8001 project.asgi:channel_layer –access-log=${LOGS}/daphne.access.log启动daphne服务器daphne -b 0.0.0.0 -p 8001 project.asgi:channel_layer –access-log=${LOGS}/daphne.access.log

为什么在部署django docker容器后,发送邮件失败?

我正在Django的工作和everthing在我的本地机器以及在heroku上工作正常。 但是,比我除臭我的Django项目,并在当地工作到现在为止罚款。 现在我已经在专用服务器上parsing了这个容器,并且知道我的电子邮件在部署之后失败了。 任何人都可以知道为什么我的专用服务器不发送邮件? 我正在使用smtp协议发送邮件。 任何帮助或build议将不胜感激。 谢谢。