Photo by Goh Rhy Yan / Unsplash

docker-ce 업데이트 후 생기는 HA-Supervisor 오류 문제 해결

컴퓨터, 소프트웨어 2024년 1월 22일

docker-ce 업데이트 후 홈어시스턴트 문제 발생

작업실에서 RK3399 칩셋(Arm64)을 사용하는 개발보드에 홈어시스턴트를 설치해서 사용하고 있습니다. 이것저것 할게 있어서 OS는 우분투(armibian)를 사용합니다. 홈어시스턴트가 우분투를 정식 지원하지는 않지만 어쨌든 문제 없이 쓰고 있습니다.

새벽에 잠이 깨서 괜히 서버 접속했다가 apt update 하고 홈어시스턴트의 core와 supervisor도 업데이트 했습니다.

처음에 홈어시스턴트 문제인줄 알고 스마트폰으로 이것 저것 하다가 결국 컴퓨터 켰네요.

문제

홈어시스턴트의 Supervisor가 제대로 작동하지 않았습니다.

24-01-22 04:26:49 ERROR (SyncWorker_0) [supervisor.docker.network] Can't link container to hassio-net: 500 Server Error for http+docker://localhost/v1.44/networks/a91234daccf2bb4d4c675f97af43be5f25e97ec4540795ecff2c8e407095ee31/connect: Internal Server Error ("invalid endpoint settings:
no configured subnet or ip-range contain the IP address 172.30.32.2")
24-01-22 04:26:49 CRITICAL (MainThread) [supervisor.supervisor] Can't setup Supervisor Docker container!
24-01-22 04:26:49 WARNING (SyncWorker_0) [supervisor.docker.manager] ghcr.io/home-assistant/aarch64-hassio-supervisor not found for cleanup

docker logs hassio_supervisor 의 오류 내용

Supervisor가 제대로 작동하지 않으니 각 도커(DNS, CLI, Audio 등)는 오류없이 실행됐지만 core에서 네트워크를 제대로 잡지 못합니다. Supervisor에도 오류가 나오고 core에도 오류가 나옴. core에서 각 도커에 접근 못함.

첨에 업데이트한 core오류인 줄 알고, 이짓저짓 하다가 시간 날렸네요. 결론은 docker-ce 때문이었습니다. 뭐 제가 쓰는 환경이 ARM기기+armbian 우분투+홈어시스턴트 라는 조합이기 때문에 다른 분들은 없는 오류가 생긴 걸수도 있습니다.

해결방법

문제를 발생시키는 docker-ce는 5:25.0.0-1ubuntu.20.04focal arm64입니다. docker-ce를 다운그레이드 하면 됩니다.

docker-ce 설치 가능한 버전 목록 확인

apt list -a docker-ce

설치 가능한 docker-ce 목록 확인

위 명령어로 사용가능한 docker-ce 버전 목록을 확인할 수 있습니다.

Listing... Done
docker-ce/focal 5:25.0.0-1~ubuntu.20.04~focal arm64 [upgradable from: 5:24.0.7-1~ubuntu.20.04~focal]
docker-ce/focal,now 5:24.0.7-1~ubuntu.20.04~focal arm64 [installed,upgradable to: 5:25.0.0-1~ubuntu.20.04~focal]
docker-ce/focal 5:24.0.6-1~ubuntu.20.04~focal arm64
docker-ce/focal 5:24.0.5-1~ubuntu.20.04~focal arm64
docker-ce/focal 5:24.0.4-1~ubuntu.20.04~focal arm64
docker-ce/focal 5:24.0.3-1~ubuntu.20.04~focal arm64
docker-ce/focal 5:24.0.2-1~ubuntu.20.04~focal arm64
docker-ce/focal 5:24.0.1-1~ubuntu.20.04~focal arm64
docker-ce/focal 5:24.0.0-1~ubuntu.20.04~focal arm64
docker-ce/focal 5:23.0.6-1~ubuntu.20.04~focal arm64
docker-ce/focal 5:23.0.5-1~ubuntu.20.04~focal arm64
docker-ce/focal 5:23.0.4-1~ubuntu.20.04~focal arm64
docker-ce/focal 5:23.0.3-1~ubuntu.20.04~focal arm64
docker-ce/focal 5:23.0.2-1~ubuntu.20.04~focal arm64
docker-ce/focal 5:23.0.1-1~ubuntu.20.04~focal arm64
docker-ce/focal 5:23.0.0-1~ubuntu.20.04~focal arm64
docker-ce/focal 5:20.10.24~3-0~ubuntu-focal arm64
docker-ce/focal 5:20.10.23~3-0~ubuntu-focal arm64
docker-ce/focal 5:20.10.22~3-0~ubuntu-focal arm64
docker-ce/focal 5:20.10.21~3-0~ubuntu-focal arm64
docker-ce/focal 5:20.10.20~3-0~ubuntu-focal arm64
docker-ce/focal 5:20.10.19~3-0~ubuntu-focal arm64
docker-ce/focal 5:20.10.18~3-0~ubuntu-focal arm64
docker-ce/focal 5:20.10.17~3-0~ubuntu-focal arm64
docker-ce/focal 5:20.10.16~3-0~ubuntu-focal arm64
docker-ce/focal 5:20.10.15~3-0~ubuntu-focal arm64
docker-ce/focal 5:20.10.14~3-0~ubuntu-focal arm64
docker-ce/focal 5:20.10.13~3-0~ubuntu-focal arm64
docker-ce/focal 5:20.10.12~3-0~ubuntu-focal arm64
docker-ce/focal 5:20.10.11~3-0~ubuntu-focal arm64
docker-ce/focal 5:20.10.10~3-0~ubuntu-focal arm64
docker-ce/focal 5:20.10.9~3-0~ubuntu-focal arm64
docker-ce/focal 5:20.10.8~3-0~ubuntu-focal arm64
docker-ce/focal 5:20.10.7~3-0~ubuntu-focal arm64
docker-ce/focal 5:20.10.6~3-0~ubuntu-focal arm64
docker-ce/focal 5:20.10.5~3-0~ubuntu-focal arm64
docker-ce/focal 5:20.10.4~3-0~ubuntu-focal arm64
docker-ce/focal 5:20.10.3~3-0~ubuntu-focal arm64
docker-ce/focal 5:20.10.2~3-0~ubuntu-focal arm64
docker-ce/focal 5:20.10.1~3-0~ubuntu-focal arm64
docker-ce/focal 5:20.10.0~3-0~ubuntu-focal arm64
docker-ce/focal 5:19.03.15~3-0~ubuntu-focal arm64
docker-ce/focal 5:19.03.14~3-0~ubuntu-focal arm64
docker-ce/focal 5:19.03.13~3-0~ubuntu-focal arm64
docker-ce/focal 5:19.03.12~3-0~ubuntu-focal arm64
docker-ce/focal 5:19.03.11~3-0~ubuntu-focal arm64
docker-ce/focal 5:19.03.10~3-0~ubuntu-focal arm64
docker-ce/focal 5:19.03.9~3-0~ubuntu-focal arm64

apt list -a docker-ce의 결과

가장 최신 버전인 5:25 버전이 문제를 일으켰기 때문에 이전 버전인 5:24버전으로 다운그레이드하면 됩니다.

docker-ce 다운그레이드로 재설치

sudo apt-get install -y --allow-downgrades docker-ce=5:24.0.7-1~ubuntu.20.04~focal

docker-ce 5:24 버전으로 재설치

위의 명령으로 docker-ce 버전을 바꾸고 reboot 로 기기를 재시작하면 문제가 해결됩니다.

(선택) docker-ce 업데이트 막기

sudo apt-mark hold docker-ce

docker-ce 업데이트 막기

apt upgrade로 docker-ce가 다시 설치되는 것이 싫으면 위의 명령으로 docker-ce업데이트를 막을 수 있습니다. 특정 버전만 막을 수 있는 기능이 없기 때문에 귀찮으면 안하셔도 됩니다. 대신 docker-ce 개발자들이 빨리 오류를 고치도록 응원해야 합니다.

태그

BoniK

협업, 의뢰, 레슨 등 문의 : mail@bonik.me, open.kakao.com/me/bonik