在 OS X 上使用 log-driver="syslog" 时出现 docker 错误
Posted
技术标签:
【中文标题】在 OS X 上使用 log-driver="syslog" 时出现 docker 错误【英文标题】:docker error when using log-driver="syslog" on OS X 【发布时间】:2015-05-04 10:37:01 【问题描述】:在 OS X 上使用 --log-driver="syslog"
时出现 docker 错误
我正在尝试学习如何在 OS X (10.10.3) 上使用 docker
容器,我了解与标准 Linux 实现的差异(需要 boot2docker VM),我想知道是否对我的方式有任何影响可以使用 syslog 记录消息
当我使用 --log-driver="syslog"
选项启动容器时,容器已创建,但启动时出现错误
~$ docker run --log-driver="syslog" --name daemon_dwayne -d ubuntu /bin/sh -c "while true; do echo hello_world; sleep 2; done;"
1f623793049916d5c....
FATA[0000] Error response from daemon: Cannot start container 1f623793049916d5....: Unix syslog delivery error
这在 Linux 机器上运行良好...感谢任何提示
【问题讨论】:
【参考方案1】:Boot2docker 在一个小型 Linux 虚拟机中运行。默认情况下,syslog 不在 VM 中运行。您可以通过在 VM 中运行 syslogd 来打开它,例如:
$ boot2docker ssh
...
docker@boot2docker:~$ syslogd
如果您再次尝试运行您的容器,它应该可以工作。
您可以通过从 boot2docker 虚拟机内的文件 /var/lib/boot2docker/bootsync.sh
调用 syslogd 来使此更改永久生效,boot2docker 将在启动 Docker 之前执行。
【讨论】:
非常感谢...“默认情况下,系统日志不在虚拟机中运行”忘记检查!!! 在 boot2docker vm 中,syslog 输出附加到/var/log/messages
您知道如何将 syslog 输出链接到 /var/log/messages 以外的其他内容。我尝试使用配置文件 /etc/syslog.conf 但它看起来不起作用。有什么想法吗?以上是关于在 OS X 上使用 log-driver="syslog" 时出现 docker 错误的主要内容,如果未能解决你的问题,请参考以下文章