
안녕하세요 여러분, 저는 도커를 처음 사용하는 초보자라 잘 모르지만 설치를 해야겠습니다. GoDaddy에 VPS 호스팅이 있고 다음과 같이 도커를 설치했습니다.이 가이드Docker를 시작하려고 하면 오류가 발생합니다.
제어 프로세스가 오류 코드로 종료되어 docker.service 작업이 실패했습니다. 자세한 내용은 "systemctl status docker.service" 및 "journalctl -xe"를 참조하세요.
실행하면 systemctl status docker.service
다음과 같은 결과가 나타납니다.
[root@ip-107-180-94-5 ~]# systemctl status docker.service -l
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/docker.service.d
└─godaddy.conf
Active: failed (Result: start-limit) since Wed 2020-01-29 06:49:01 MST; 4min 1s ago
Docs: https://docs.docker.com
Process: 3708 ExecStartPost=/opt/godaddy/docker/configure-snat (code=exited, status=2)
Process: 3571 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=0/SUCCESS)
Main PID: 3571 (code=exited, status=0/SUCCESS)
Jan 29 06:48:59 ip-107-180-94-5.ip.secureserver.net systemd[1]: Failed to start Docker Application Container Engine.
Jan 29 06:48:59 ip-107-180-94-5.ip.secureserver.net systemd[1]: Unit docker.service entered failed state.
Jan 29 06:48:59 ip-107-180-94-5.ip.secureserver.net systemd[1]: docker.service failed.
Jan 29 06:49:01 ip-107-180-94-5.ip.secureserver.net systemd[1]: docker.service holdoff time over, scheduling restart.
Jan 29 06:49:01 ip-107-180-94-5.ip.secureserver.net systemd[1]: Stopped Docker Application Container Engine.
Jan 29 06:49:01 ip-107-180-94-5.ip.secureserver.net systemd[1]: start request repeated too quickly for docker.service
Jan 29 06:49:01 ip-107-180-94-5.ip.secureserver.net systemd[1]: Failed to start Docker Application Container Engine.
Jan 29 06:49:01 ip-107-180-94-5.ip.secureserver.net systemd[1]: Unit docker.service entered failed state.
Jan 29 06:49:01 ip-107-180-94-5.ip.secureserver.net systemd[1]: docker.service failed.
실행하면 journalctl -xe
다음과 같은 결과가 나타납니다.
[root@ip-107-180-94-5 ~]# journalctl -xe-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit user-0.slice has finished starting up.--
-- The start-up result is done.Jan 29 07:10:01 ip-107-180-94-5.ip.secureserver.net systemd[1]: Started Session 11104 of user root.-- Subject: Unit session-11104.scope has finished start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel--
-- Unit session-11104.scope has finished starting up.
--
-- The start-up result is done.Jan 29 07:10:01 ip-107-180-94-5.ip.secureserver.net systemd[1]: Started Session 11105 of user root.
-- Subject: Unit session-11105.scope has finished start-up
-- Defined-By: systemd-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel---- Unit session-11105.scope has finished starting up.
--
-- The start-up result is done.
Jan 29 07:10:01 ip-107-180-94-5.ip.secureserver.net CROND[31560]: (root) CMD (/usr/local/cpanel/scripts/dcpumon-wr
Jan 29 07:10:01 ip-107-180-94-5.ip.secureserver.net CROND[31561]: (root) CMD (/usr/lib64/sa/sa1 1 1)
나는 내가 하는 모든 일에 대해 동일한 오류가 있는 사람들의 게시물을 따라갔습니다. 를 실행하여 다른 결과를 얻었는데 dockerd --debug
다음 줄에서 중지되고 명령을 중단해야 합니다.
INFO[2020-01-29T07:14:39.129935890-07:00] API listen on /var/run/docker.sock
그 후 실행하면 systemctl start docker
반환하지 않고 중단되어 명령을 다시 중단해야 합니다. 그런 다음 상태를 확인하면 systemctl status docker.service -l
다음 결과가 생성됩니다.
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/docker.service.d
└─godaddy.conf
Active: activating (start-post) since Wed 2020-01-29 07:17:17 MST; 1min 39s ago
Docs: https://docs.docker.com
Main PID: 32176 (dockerd); : 32313 (configure-snat)
Tasks: 15
Memory: 39.6M
CGroup: /system.slice/docker.service
├─32176 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
└─control
├─ 5261 sleep 0.1
└─32313 /bin/bash /opt/godaddy/docker/configure-snat
Jan 29 07:18:56 ip-107-180-94-5.ip.secureserver.net configure-snat[32313]: Cannot connect to the Docker daemon atunix:///var/run/docker.sock. Is the docker daemon running?
Jan 29 07:18:56 ip-107-180-94-5.ip.secureserver.net configure-snat[32313]: waiting for docker bridge...
Jan 29 07:18:56 ip-107-180-94-5.ip.secureserver.net configure-snat[32313]: Cannot connect to the Docker daemon atunix:///var/run/docker.sock. Is the docker daemon running?
Jan 29 07:18:56 ip-107-180-94-5.ip.secureserver.net configure-snat[32313]: waiting for docker bridge...
Jan 29 07:18:56 ip-107-180-94-5.ip.secureserver.net configure-snat[32313]: Cannot connect to the Docker daemon atunix:///var/run/docker.sock. Is the docker daemon running?
Jan 29 07:18:56 ip-107-180-94-5.ip.secureserver.net configure-snat[32313]: waiting for docker bridge...
Jan 29 07:18:56 ip-107-180-94-5.ip.secureserver.net configure-snat[32313]: Cannot connect to the Docker daemon atunix:///var/run/docker.sock. Is the docker daemon running?
Jan 29 07:18:56 ip-107-180-94-5.ip.secureserver.net configure-snat[32313]: waiting for docker bridge...
Jan 29 07:18:56 ip-107-180-94-5.ip.secureserver.net configure-snat[32313]: Cannot connect to the Docker daemon atunix:///var/run/docker.sock. Is the docker daemon running?
Jan 29 07:18:57 ip-107-180-94-5.ip.secureserver.net configure-snat[32313]: waiting for docker bridge...
다른 팁에 따라 명령을 실행 dockerd
하고 결과를 생성했습니다.
WARN[2020-01-29T07:20:27.025438855-07:00] The "graph" config file option is deprecated. Please use "data-root" instead.
INFO[2020-01-29T07:20:27.025693705-07:00] Starting up
failed to start daemon: pid file found, ensure docker is not running or delete /var/run/docker.pid
따라서 .pid 파일을 삭제하면 결과가 다음과 같이 변경됩니다.
WARN[2020-01-29T07:22:44.060324431-07:00] The "graph" config file option is deprecated. Please use "data-root" instead.
INFO[2020-01-29T07:22:44.061145504-07:00] Starting up
INFO[2020-01-29T07:22:44.064401028-07:00] parsed scheme: "unix" module=grpc
INFO[2020-01-29T07:22:44.064684277-07:00] scheme "unix" not registered, fallback to default scheme module=grpc
INFO[2020-01-29T07:22:44.064771804-07:00] ccResolverWrapper: sending update to cc: {[{unix:///run/containerd/containerd.sock 0 <nil>}] <nil>} module=grpc
INFO[2020-01-29T07:22:44.064814177-07:00] ClientConn switching balancer to "pick_first" module=grpc
INFO[2020-01-29T07:22:44.070245283-07:00] parsed scheme: "unix" module=grpc
INFO[2020-01-29T07:22:44.070333997-07:00] scheme "unix" not registered, fallback to default scheme module=grpc
INFO[2020-01-29T07:22:44.070364847-07:00] ccResolverWrapper: sending update to cc: {[{unix:///run/containerd/containerd.sock 0 <nil>}] <nil>} module=grpc
INFO[2020-01-29T07:22:44.070390331-07:00] ClientConn switching balancer to "pick_first" module=grpc
WARN[2020-01-29T07:22:44.071893568-07:00] [graphdriver] WARNING: the overlay storage-driver is deprecated, and will be removed in a future release
failed to start daemon: error while opening volume store metadata database: timeout
그 후에는 더 이상 아무것도 할 수 없었고 이미 도커를 2번 정도 다시 설치했지만 여전히 아무 것도 없습니다. 누구든지 나를 도와줄 수 있나요? CentOS 7 배포판을 사용하고 있습니다.
답변1
비슷한 오류가 발생했습니다. 문제는 /etc/systemd/system/docker.service.d/godaddy.conf
네트워크와 iptables를 구성하는 스크립트를 실행하는 명령이 있습니다 ExecStartPost=/opt/godaddy/docker/configure-snat
.
그리고 그 스크립트 파일에서 내 경우에는 정확히 다음 두 줄이 실패했습니다.
...
iptables -t nat -D POSTROUTING -s ${DOCKER_NETWORK} ! -o docker0 -j SNAT --to ${PUBLIC_IP}
iptables -t nat -I POSTROUTING -s ${DOCKER_NETWORK} ! -o docker0 -j SNAT --to ${PUBLIC_IP}
문제는 어떤 이유로 비어 있고 생성된 스크립트가 잘못된 변수 ${PUBLIC_IP}
에서 끝났다는 것입니다. 왜냐하면 인수가 필요하기 때문입니다. 그래서 이로 인해 오류가 발생하고 내 도커가 시작되지 못했습니다.--too
--too
따라서 문제는 도커 자체에 있는 것이 아닙니다. 내가 다음 줄에 주석을 달고 난 후: #ExecStartPost=/opt/godaddy/docker/configure-snat
in /etc/systemd/system/docker.service.d/godaddy.conf
. 문제 해결됨. 제 경우에는 Docker가 문제 없이 시작되었습니다.
답변2
/var/lib/docker에서 파일을 제거합니다. 그런 다음 docker 서비스를 다시 시작하십시오. 폴더를 삭제하면 이미지 데이터가 삭제되므로 이미지를 백업하십시오.