如何使用docker compose将supervisord日志文件从docker容器保存到机器?

如何使用docker compose将supervisord日志文件从docker容器保存到机器?,docker,docker-compose,supervisord,Docker,Docker Compose,Supervisord,我的项目与docker容器上的主管一起运行。所有stdout_日志文件都存储在“logs”文件夹(docker容器内),我需要将它们保存在本地计算机上的同一目录中。我添加了卷,但出现套接字错误。docker-compose.yml: 但我犯了以下错误: Error: Cannot open an HTTP server: socket.error reported errno.EIO (5) 但是,新的supervisord.log文件出现在(计算机上的)日志文件夹中,并且存在: 20

我的项目与docker容器上的主管一起运行。所有stdout_日志文件都存储在“logs”文件夹(docker容器内),我需要将它们保存在本地计算机上的同一目录中。我添加了卷,但出现套接字错误。docker-compose.yml:

但我犯了以下错误:

    Error: Cannot open an HTTP server: socket.error reported errno.EIO (5)
但是,新的supervisord.log文件出现在(计算机上的)日志文件夹中,并且存在:

2020-07-30 11:15:07,528 CRIT Supervisor is running as root.  Privileges were not dropped because no user is specified in the config file.  If you intend to run as root, you can set user=root in the config file to avoid this message.
2020-07-30 11:15:07,529 INFO Included extra file "/orion-amr/supervisor/conf.d/amr.conf" during parsing

发生了什么事,谁能帮忙?

正如Adii在评论中暗示的那样,这不是docker配置的问题:

在进行任何处理之前,Supervisord会切换到UNIX用户帐户

您需要指定它应该使用哪种类型的用户帐户,以root用户身份运行守护程序,但在配置文件中指定user

因此,您有三种不同的解决方案:

1。将管理器配置更改为以其他用户身份运行

[program:myprogram]
...
user=user1
在构建过程中,您必须通过
docker compose.yaml中的
volumes
将配置文件从容器外部映射到容器内部

2。在docker compose.yaml中指定
user
指令

服务: 网状物: ... 用户:user1

3。在Dockerfile中指定
USER
指令。作为:

USER
指令设置运行映像时要使用的用户名(或UID)和可选的用户组(或GID),以及Dockerfile中的任何
RUN
CMD
入口点
指令


由于您不同意
web
容器的意图,因此您必须独自决定最佳的行动方案。不过我会选择选项一,它更易于维护。

正如Adii在评论中所暗示的,这不是docker配置的问题:

在进行任何处理之前,Supervisord会切换到UNIX用户帐户

您需要指定它应该使用哪种类型的用户帐户,以root用户身份运行守护程序,但在配置文件中指定user

因此,您有三种不同的解决方案:

1。将管理器配置更改为以其他用户身份运行

[program:myprogram]
...
user=user1
在构建过程中,您必须通过
docker compose.yaml中的
volumes
将配置文件从容器外部映射到容器内部

2。在docker compose.yaml中指定
user
指令

服务: 网状物: ... 用户:user1

3。在Dockerfile中指定
USER
指令。作为:

USER
指令设置运行映像时要使用的用户名(或UID)和可选的用户组(或GID),以及Dockerfile中的任何
RUN
CMD
入口点
指令


由于您不同意
web
容器的意图,因此您必须独自决定最佳的行动方案。不过,我会选择选项一,它更易于维护。

错误是form supervisord,而不是docker compose中的到期装载日志目录,或者错误是form supervisord,而不是docker compose中的到期装载日志目录,或者
version: '3'