我有一个特殊的场景.我倾向于执行命令docker-compose -f dev.yml up --build来启动容器并工作.在这里,dev.yml是开发版docker-compose.yml.直到今天早上,每件事情都工作正常,突然间,我开始收到有关无法连接到docker-daemon的错误.
现在,只有在我--build包含在命令中时才会出现此问题.如果我只执行docker-compose -f dev.yml up它工作正常.如果我包含--build在命令中并使用sudo它执行它再次正常工作.
事情已验证:
/var/run/docker.sockdev.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=rocky
django:
build:
context: .
dockerfile: ./compose/django/development/Dockerfile
depends_on:
- postgres
environment:
- POSTGRES_USER=rocky
- USE_DOCKER=yes
volumes:
- .:/app
- /tmp/
links:
- postgres
- redis
expose:
- "8000"
env_file:
- ./dev.env
nginx:
build:
context: . …Run Code Online (Sandbox Code Playgroud) 根据DRF文档,我开始使用ViewSet并实施了list, retrieve, create, update and destroy操作.我有另一个APIView,我能够编写模式(ManualSchema),当我导航到/docs/我能够文档以及实时端点进行交互时.
我希望为每个视图集操作创建单独的模式.我尝试写一个,但它没有出现,所以我想我错过了一些东西.
这是代码:
class Clients(viewsets.ViewSet):
'''
Clients is DRF viewset which implements `create`, `update`, `read` actions by implementing create, update, list and retrieve functions respectively.
'''
list_schema = schemas.ManualSchema(fields=[
coreapi.Field(
'status',
required=False,
location='query',
description='Accepted values are `active`, `inactive`'
),
],
description='Clients list',
encoding='application/x-www-form-urlencoded')
@action(detail=True, schema=list_schema)
def list(self, request):
'''Logic for listing'''
def retrieve(self, request, oid=None):
'''Logic for retrieval'''
create_schema = schemas.ManualSchema(fields=[
coreapi.Field(
'name',
required=False,
location='body',
),
coreapi.Field(
'location',
required=False,
location='body',
), …Run Code Online (Sandbox Code Playgroud) 我有一个模型目标,它有两个M2M字段,并由另一个模型事件引用.现在,要求是目标是可编辑的,这意味着我可以从M2M字段添加/删除并添加/删除事件.但是编辑会经过审核,只有在批准后才会反映出更改,或者在拒绝的情况下,必须还原更改.
我已经通过深度扫描,但它不符合我的目的,因为我可以说如果x=deepcopy(goal object)我得到目标对象的副本,但我不确定我能用它做什么.
然后我从django.forms模块了解了model_to_dict,它序列化了整个对象,这很方便.我想可能是我可以使用这个字典创建一个原始目标为外键的模型RevisedGoal.这是可行的解决方案吗?有没有办法实现这个目标?
我正在使用 Semantic UI,而且我很高兴使用它。我面临一个小问题。我正在尝试实现Modal一个全屏的。我不希望该模式可关闭(即单击调光器关闭模式)。因此,根据我实现的文档,以下显示了不可关闭的模式。
$("body").find(".processing-loader")
.modal("setting", "closable", false).modal("show");
Run Code Online (Sandbox Code Playgroud)
但是,当单击调光器上的任意位置时,模式会关闭。
我的项目中只有很少的视图仅由ajax调用,因此我需要检查一下是否仅在请求为ajax时才处理视图。所以我想到了写一个装饰器。在寻找类似类型的装饰器时,我碰到了很少,但什么都不知道。我使用基于类的视图,并将在get / post方法上使用此装饰器。我确实发现了一些代码片段,但是所有代码片段都是针对基于函数的视图编写的,这使我更加难以理解,因为我从未使用过基于函数的视图。
我只需要知道装饰器背后的想法是什么,以及它是如何工作的。
我在 docker 设置中使用 celery 和 redis 作为两个服务。配置如下:
redis:
image: redis:latest
hostname: redis
ports:
- "0.0.0.0:6379:6379"
command:
--requirepass PASSWORD
celeryworker:
<<: *django
depends_on:
- redis
- postgres
command: "celery -E -A rhombus.taskapp worker --beat --scheduler redbeat.schedulers:RedBeatScheduler --loglevel INFO --uid taskmaster --concurrency=5"
Run Code Online (Sandbox Code Playgroud)
当我尝试构建我的容器并在工人准备好后安排一些工作时,我得到了一个例外
[2018-03-20 04:40:52,082: WARNING/Beat] redis.exceptions.ResponseError: NOAUTH Authentication required.
Run Code Online (Sandbox Code Playgroud)
我一直无法弄清楚还需要什么配置才能使此设置正常工作。对这个问题的一些见解和指导是可观的。
下面是完整的堆栈跟踪。
django ×3
docker ×2
ajax ×1
celery ×1
celerybeat ×1
core-api ×1
python ×1
redis ×1
semantic-ui ×1