【发布时间】:2018-02-01 10:26:44
【问题描述】:
自从 10 月份某个地方发布了 Docker for Windows 以来,他们在 Windows Containers 中添加了一个 linux 内核,以便与 Windows Containers 一起运行 Linux 容器。我很难让它运行。以下来自当前 Docker Edge rc 的 changelog:
LCOW 容器现在可以在 Windows 容器旁边运行(在 Windows RS3 build 16299 及更高版本)。在 Windows 中使用
--platform=linux在 Windows 上运行 Linux 容器的容器模式。请注意,LCOW 是 仍处于试验阶段,它需要守护进程experimental选项。
我正在使用RabbitMQ image 的未修改版本。
执行docker run时:
docker run -d --platform=linux --name rabbit1 -e RABBITMQ_ERLANG_COOKIE='SWQOKODSQALRPCLNMEQG' -e RABBITMQ_DEFAULT_USER=rabbitmq -e RABBITMQ_DEFAULT_PASS=rabbitmq -p 15672:15672 -p 5672:5672 rabbitmq:3-management
我没有收到任何错误,容器在启动后立即停止并且日志包含以下错误:
chmod: changing permissions of '/var/lib/rabbitmq/.erlang.cookie': Operation not permitted
删除 cookie 参数让它运行几秒钟,直到它出现在容器日志中:
09:49:48.020 [error] Failed to change mode: eperm
09:49:50.190 [error] Cookie file /var/lib/rabbitmq/.erlang.cookie must be accessible by owner only
这基本上是相同的错误。我尝试将this添加到docker run,但是cookie文件是在启动RabbitMQ的过程中创建的。
** 在 Linux 容器模式下使用 Docker 运行良好且花花公子。
环境:
- Windows 10 版本 1709
- Windows PowerShell 正在以管理员身份运行
- Docker 版本 18.02.0-ce-rc1,构建 5e1d90a
【问题讨论】:
标签: docker rabbitmq windows-container