vm 깔고, docker swarm 사용할 때 이미 host 가 manager node 일 경우 아래 순서로 명령어를 수행
HOST$ docker swarm leave
VM$ docker swarm init
하면, 아래처럼 기존 컨테이너가 실행중인데 사라지는 현상 (데몬이 실행중인 컨테이너를 잡지 못함)
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
$ ps -ef | grep docker
root 11775 1 0 18:24 ? 00:00:01 dockerd -G docker --exec-root=/var/snap/docker/384/run/docker --data-root=/var/snap/docker/common/var-lib-docker --pidfile=/var/snap/docker/384/run/docker.pid --config-file=/var/snap/docker/384/config/daemon.json --debug
root 11868 11775 0 18:24 ? 00:00:00 docker-containerd --config /var/snap/docker/384/run/docker/containerd/containerd.toml
root 12136 1 0 18:24 ? 00:00:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
root 12730 6303 0 18:27 pts/2 00:00:00 grep --color=auto docker
root 15881 12110 0 Jun05 ? 00:00:03 containerd-shim -namespace moby -workdir /var/lib/containerd/io.containerd.runtime.v1.linux/moby/ce80ad93f1eb809a35d7fc32ebf0647444b8e1a9dc6f874fdd4ac7af040626d8 -address /run/containerd/containerd.sock -containerd-binary /usr/bin/containerd -runtime-root /var/run/docker/runtime-runc
root 15981 12110 0 Jun05 ? 00:00:03 containerd-shim -namespace moby -workdir /var/lib/containerd/io.containerd.runtime.v1.linux/moby/dc1cf4cc07a493748ee3b5f9b30a04fa0baac9403ddf30f7d4c140f8edf53579 -address /run/containerd/containerd.sock -containerd-binary /usr/bin/containerd -runtime-root /var/run/docker/runtime-runc
root 16138 12110 0 Jun05 ? 00:00:03 containerd-shim -namespace moby -workdir /var/lib/containerd/io.containerd.runtime.v1.linux/moby/ecd5eab98011da7d79fa45137b6f9af8365dc1cfc4f13338b3bc51d3bb5614d4 -address /run/containerd/containerd.sock -containerd-binary /usr/bin/containerd -runtime-root /var/run/docker/runtime-runc
라고 뜨는 경우 즉, 컨테이너가 실행중인데 없다고 뜨는 경우 원래 매니저 노드에서 leave 명령어로 스왐모드 해제해도 위의 상황이 반복
+ docker service ls 또는 docker node ls 처럼 manager node 일 때 사용가능한 명령어도 사용못하는 상태
ㅅㅂ
스왐을 실행하고 있는 프로세스가 아직 있기 때문이다.
따라서 2377 포트를 사용하고 있는 프로세스를 찾아서 죽이면 된다.
$ sudo ss --tcp --listening --processes --numeric | grep ":2377"
$ sudo readlink -f /proc/<PID>/exe 또는 $ kill -9 <PID>
참고: https://stackoverflow.com/questions/53547308/docker-swarm-init-fails-address-already-in-use
이제 된다;
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ecd5eab98011 nginx:1.13 "nginx -g 'daemon of…" 3 weeks ago Up 2 days 0.0.0.0:80->80/tcp backend_nginx_1
dc1cf4cc07a4 backend_djangoapp "./ready.sh" 3 weeks ago Up 2 days 8000/tcp backend_djangoapp_1
ce80ad93f1eb test_db "docker-entrypoint.s…" 6 weeks ago Up 2 days 0.0.0.0:5432->5432/tcp database1
으후; 심장아파
'DevOps > Docker' 카테고리의 다른 글
AWS + docker-machine 사용 시 주의사항 (0) | 2019.06.08 |
---|---|
docker container stop 안될 때 또는 docker-compose down 안될 때 (0) | 2019.06.08 |
docker-machine 명령어 (0) | 2019.05.29 |
docker swarm 명령어 (0) | 2019.05.22 |
docker 명령어 (0) | 2019.05.22 |