我正在配置主管守护程序以启动/停止 Celery。
这没用。在来回调试后,我意识到问题在于它没有将工作目录更改为程序部分下 supervisord.conf 中的目录选项中提到的目录。
希望workdir
芹菜中有一个,但我很好奇 - 那么这个directory
选项的目的是什么?
如果您通过主管运行脚本并打印pwd
它将输出/。
我有一个带有两个容器的 docker-compose.yml 文件:
containerA:
...
ports:
- "80:9000"
containerB:
...
links:
- containerA
Run Code Online (Sandbox Code Playgroud)
我所期待的是有一个containerA
从可达80端口containerB
,但它只能通过端口号为9000的唯一可见的80端口从主机的访问。
有没有办法让容器的containerA
9000 端口可以通过 80 端口访问它所链接的所有容器,而不仅仅是主机?
我有两个容器。一个用于保存运行 gunicorn 的 django 应用程序,另一个用于 celery 任务队列。
Celery 使用相同的 django 应用程序代码库。
当我构建 Django docker 容器时,我使用ADD . /usr/src/app
语句将源文件复制到容器中。但是 Dockerfile for Celery 位于另一个文件夹中,因此无法复制其中的文件,因为它们与上下文无关。
到目前为止,我看到了两种可能性:
mount -o bind
似乎看起来很hackyvolumes-from
.目前我使用第三种解决方案。有没有更好的方法?git clone
在 dockerfile 中使用?但是如何进行身份验证...