반응형

Docker기반의 Superset을 사용중인데 yum update이후 docker관련 라이브러리들이 업데이트 되었다.

이로 인해 잘돌아가던 Superset UI에 접속할 수 가 없었다.

계속해서 페이지에 접속되지 않고 ERR_CONNECTION_TIMED_OUT 메세지가 떴다.

이에 Docker, Superset 재시작을 해보았지만 여전히 동일한 상황....문제는 둘 다 재시작되면서 별다른 에러메세지도 없었고 잘 구동되었다.

뭔가 네트워크적인 이슈가 있다고 판단 구글링을 해서 본 docker 디렉토리 밑의 network/files를 날려보기로 결심...(너무 무서워서 알파 환경에서 먼저 시도해보았다. 이래서 리얼환경과 동일한 알파환경은 꼭 필요하다.)

ref : https://github.com/moby/moby/issues/25981

 

알파환경에서 sudo systemctl stop docker 실행 후 /var/lib/docker/network/files를 날리고 기존 Docker container, image들을 모두 제거 해준 뒤 재시작해보았다.

sudo systemctl stop docker
sudo rm -rf /var/lib/docker/network/files  => 네트워크 파일 제거

incubator-superset/docker 폴더 밑에서
docker stop $(docker ps -a -q)     => 도커 모든 프로세스 중단
docker rm $(docker ps -a -q)        => 도커 모든 컨테이너 제거
docker rmi $(docker images -q)   => 도커 모든 이미지 제거

위와 같이 수행하였고 docker-compose up 명령어를 통해 다시 superset을 띄워보았다. 

문제없이 Superset내부의 데이터들이 그대로 남아있는 것을 확인(제일 중요)하고 리얼에 적용해 보았다.

동일하게 sudo rm -rf /var/lib/docker/network/files 제거 하고 docker stop $(docker ps -a -q)     => 도커 모든 프로세스 중단명령을 날리는데 다음과 같은 에러메세지가 떴다.

$ docker stop $(docker ps -a -q)
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
"docker stop" requires at least 1 argument.
See 'docker stop --help'.

Usage:  docker stop [OPTIONS] CONTAINER [CONTAINER...]

Stop one or more running containers

해결은 아래의 명령어로 처리

$ sudo dockerd

dockerd is the daemon service for docker containers, because it is not running in background we're not able to take any actions related to the service, which needs be restarted.

참조 : https://stackoverflow.com/questions/44678725/cannot-connect-to-the-docker-daemon-at-unix-var-run-docker-sock-is-the-docker

 

Cannot connect to the Docker daemon at unix:/var/run/docker.sock. Is the docker daemon running?

I have applied every solution available on internet but still I cannot run Docker. I want to use Scrapy Splash on my server. Here is history of commands I ran. docker run -p 8050:8050 scrapinghub/

stackoverflow.com

이렇게 문제를 해결해주고 알파환경과 동일하게 Docker Container, image 파일들을 제거하고 Docker, Superset을 재시작해주었더니...

문제가 말끔히 해결되어 Superset UI에 잘 접근하는 것을 확인 할 수 있었다.

뭔가 docker network 파일들이 꼬여있었던 것 같다.

docker network아래의 파일들을 지워주기 전에 시스템 로그(/var/log/messages)에서 아래와 같은 메세지가 계속해서 떴었다.

IPv6: ADDRCONF(NETDEV_UP): veth8155173: link is not ready
br-72dc763038be: port 4(veth8155173) entered blocking state
br-72dc763038be: port 4(veth8155173) entered forwarding state
br-72dc763038be: port 5(veth8f6205c) entered blocking state
br-72dc763038be: port 5(veth8f6205c) entered disabled state
device veth8f6205c entered promiscuous mode

하지만 Docker network 디렉토리 밑의 file들을 삭제해주고 Docker를 재부팅한 이부에는 시스템 로그에 위의 로그들이 나타나지 않음을 확인하였다. 어떠한 이유에서 위와 같은 문제가 발생했는지에 대한 정확한 원인은 파악하지 못했다.....찾게 되면 포스팅하도록 하겠다.

감사합니다.

반응형

+ Recent posts