failed to start docker service

# docker 서비스 상태를 보면
sudo systemctl status docker.service

# 다음과 같이 failed 상태다.
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Tue 2023-11-07 10:37:32 KST; 3min 6s ago
     Docs: https://docs.docker.com
  Process: 3637521 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE)
 Main PID: 3637521 (code=exited, status=1/FAILURE)
11월 07 10:37:32 ysoftman-dev1 systemd[1]: docker.service: Start request repeated too quickly.
11월 07 10:37:32 ysoftman-dev1 systemd[1]: docker.service: Failed with result 'exit-code'.
11월 07 10:37:32 ysoftman-dev1 systemd[1]: Failed to start Docker Application Container Engine.

# 도커 버전 확인
/usr/bin/dockerd --version
Docker version 24.0.7, build 311b9ff

# 서비스 시작 명령을 수행하면
sudo /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

# 다음과 같이 daemon.json 에 호스트를 설정이 있는데 -H 옵션으로 또 지정해서 문제가 된다.
# -H, --host list (Daemon socket(s) to connect to)
unable to configure the Docker daemon with file /etc/docker/daemon.json: the following directives are specified both as a flag and in the configuration file: hosts: (from flag: [fd://], from file: [unix:///var/run/docker.sock tcp://0.0.0.0:2375])

# /usr/lib/systemd/system/docker.service 파일을 보면 다음과 같이 -H 옵션이 있다.
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

# 찾아보니 같은 이슈가 많이 있다.
# 옵션 중복 허용을 하던가 설정 덮어쓰기를 하던가 수정이 필요해 보이는데 개선되지 않고 있다.
# 현재로선 daemon.json hosts 를 사용한다면 -H 옵션을 제거하는 방식으로 해결한다.

# 다음과 같이 -H 옵션은 제거해 daemon.json 설정만 사용하도록 했다.
ExecStart=/usr/bin/dockerd --containerd=/run/containerd/containerd.sock

comments:

댓글 쓰기