-
Notifications
You must be signed in to change notification settings - Fork 397
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
readmode pipes not supported In the default daemon configuration on Windows #383
Comments
Hello @jonaslewin When I use a Windows Server 2019 with Docker-Desktop 2.0.0.2 it works fine. Here is traefik's log of the container running on Windows 10 1809:
I have stopped the traefik container, tested with the stefanscherer/docker-cli-windows container which works fine on both Windows 10 and Windows Server 2019. Then I copied the docker.exe from this container into the stopped traefik container. Afterwards I've started the traefik container again. I see the same error messages from traefik in the started container. But when I exec into the container and run It seems to me a problem in |
OK, it has something to do with the isolation mode of the traefik container. When I add isolation: hyperv to the docker-compose.yml to run the traefik container in hyperv isolation on the Windows Server 2019 machine I can reproduce the error message there as well. But a Docker CLI 18.09.0 works inside that container. I've seen that the vendoring of github.com/docker/docker is a little bit outdated, about a year ago was the last update. I've tried an older Docker CLI in the traefik container and I can reproduce the error with that old CLI
So it's a problem in the A workaround is to add version: '2.4'
services:
traefik:
image: stefanscherer/traefik-windows
command: --docker.endpoint=npipe:////./pipe/docker_engine --logLevel=DEBUG
ports:
- "8080:8080"
- "443:443"
- "80:80"
isolation: hyperv
volumes:
- .:C:/etc/traefik
- type: npipe
source: \\.\pipe\docker_engine
target: \\.\pipe\docker_engine Then it also works on Windows 10 1809 as you can start using process isolation with Docker-Desktop 2.0.0.2. |
I've created traefik/traefik#4409 to report it in traefik repo. |
@jonaslewin use the updated docker-compose.yml which sets |
Thank you so much for your help. It works great. According to the documentation https://docs.docker.com/engine/reference/commandline/run/#specify-isolation-technology-for-container---isolation it says:
But as I just saw on my system - it works just fine with isolation set to process. |
Haha, yes it works with the latest versions, see https://stefanscherer.github.io/how-to-run-lightweight-windows-containers-on-windows-10/ |
I've sent a PR to update the Docker CLI docs docker/cli#1627 |
Hello Stefan.
Thank you very much for your examples with docker and traefik.
I downloaded your repository, and copied the traefik folder.
On the Windows 10 (18.09) I did not change any files but just ran
docker-compose up -d
docker logs traefik_traefik_1
shows the following:
level=error msg="Failed to retrieve information of the docker client and server host: error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/version: open //./pipe/docker_engine: message readmode pipes not supported In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running."
docker ps
shows all 3 containers runningdocker version
showsand the version of Docker Desktop I am running is 2.0.0.2 from the stable channel.
Do you have any suggestions on what I need to change? Do I need to change anything inside the traefik container, or somehow allow named pipes on the host? I'm lost here and would very much appreciate your help.
The text was updated successfully, but these errors were encountered: