Since a Docker for Windows release in October somewhere they added a linux kernel to Windows Containers to run Linux containers side by side with Windows Containers. I'm having a hard time getting it to run. The following is from the changelog of the current Docker Edge rc:
LCOW containers can now be run next to Windows containers (on Windows RS3 build 16299 and later). Use
--platform=linux
in Windows container mode to run Linux Containers On Windows. Note that LCOW is still experimental, it requires daemonexperimental
option.
I'm using a non-modified version of the RabbitMQ
image.
When executing 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
I don't get any errors, the container stops as soon as it's booted and the log contains the following error:
chmod: changing permissions of '/var/lib/rabbitmq/.erlang.cookie': Operation not permitted
Removing the cookie argument gets it running for a few seconds until this is in the containers log:
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
Which is basically the same error. I tried adding this to the docker run, but the cookie file is created in the process of starting RabbitMQ
.
** It's running fine and dandy with Docker in Linux container mode.
Environment:
- Windows 10 Version 1709
- Windows PowerShell is running as admin
- Docker version 18.02.0-ce-rc1, build 5e1d90a