Closed pwnall closed 9 years ago
@pwnall could you try experimental version of Docker (1.9) with latest Swarm image from dockerswarm/swarm:master ?
@chanwit This still occurs.
For future reference, here's how I built my 1-node cluster.
TOKEN=$(docker-swarm create)
ISO_URL=$(curl \
https://api.github.com/repos/ahbeng/boot2docker-experimental/releases/latest \
| grep -o https://.*/boot2docker.iso)
docker-machine create --driver virtualbox --swarm --swarm-master \
--swarm-image "dockerswarm/swarm:master" \
--virtualbox-boot2docker-url $ISO_URL \
--swarm-discovery "token://$TOKEN" swarm-master
@pwnall It seems I cannot reproduce this issue.
$ docker run --rm -it busybox
/ # ls -al
total 44
drwxr-xr-x 19 root root 4096 Oct 13 12:53 .
drwxr-xr-x 19 root root 4096 Oct 13 12:53 ..
-rwxr-xr-x 1 root root 0 Oct 13 12:52 .dockerenv
-rwxr-xr-x 1 root root 0 Oct 13 12:52 .dockerinit
drwxr-xr-x 2 root root 12288 Sep 18 21:14 bin
drwxr-xr-x 5 root root 380 Oct 13 12:52 dev
drwxr-xr-x 2 root root 4096 Oct 13 12:52 etc
drwxr-xr-x 3 root root 4096 Sep 18 21:14 home
dr-xr-xr-x 72 root root 0 Oct 13 12:52 proc
drwxr-xr-x 2 root root 4096 Oct 13 12:53 root
dr-xr-xr-x 13 root root 0 Oct 13 12:52 sys
drwxrwxrwt 2 root root 4096 Sep 18 21:13 tmp
drwxr-xr-x 3 root root 4096 Sep 18 21:14 usr
drwxr-xr-x 4 root root 4096 Sep 18 21:14 var
/ # uname -a
Linux 182cc7d4418b 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1 (2015-05-24) x86_64 GNU/Linux
/ # exit
ping @docker/swarm-maintainers just in case others can reproduce this.
@pwnall @docker/swarm-maintainers I got this behaviour updated.
It seems to be hanging only after the exit
command. On my machine, a couple of hitting enters helped me get through.
@chanwit do you have any steps to reproduce? What was changing (in your config, etc.) from your first try to your second try where you managed to reproduce? Seems like this is a long standing issue but happens randomly as we never managed to reproduce it on our side :confused:
@abronan nothing is changed between the first and the second try. I used a Windows client where @pwnall seems to use an OSX client.
Steps:
DOCKER_HOST
to the Swarm manager.docker run --rm -it busybox
Tested with Docker 1.9-dev and 0.5-dev (from dockerswarm/swarm:master
).
@chanwit Sorry for not being clear enough! You found my problem correctly -- after an exit
command, the docker CLI is still running.
Is it possible that the hijack proxy should stop after the engine closes the stream?
Specifically, the goroutine below should tell the other goroutine to stop? https://github.com/docker/swarm/blob/master/api/utils.go#L177
The following hangs when my DOCKER_HOST points to a Swarm master, but works just fine when DOCKER_HOST points to a Docker Engine.
I tested this by installing docker and docker-machine from Homebrew on OSX, and using docker-machine to build a 1-VM Swarm cluster, where my manual test fails, as well as a standalone engine VM, where my test passes.
Swarm
docker version
Swarm
docker info
Docker engine
docker version
.Docker engine
docker info