Служба Docker не запускается в CentOS 7 - PullRequest
0 голосов
/ 02 ноября 2019

Я использовал следующие команды для установки Docker CE в CentOS Linux версии 7.6.1810 (Core)

yum check-update
curl -fsSL https://get.docker.com/ | sh

systemctl start docker показывает

Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.

journalctl -u docker.service показывает следующееlogs

Nov 02 11:19:10 server systemd[1]: Starting Docker Application Container Engine...
Nov 02 11:19:10 server dockerd[1059]: time="2019-11-02T11:19:10.878296526Z" level=info msg="Starting up"
Nov 02 11:19:10 server dockerd[1059]: time="2019-11-02T11:19:10.930469940Z" level=info msg="parsed scheme: \"unix\"" module=grpc
Nov 02 11:19:10 server dockerd[1059]: time="2019-11-02T11:19:10.930539797Z" level=info msg="scheme \"unix\" not registered, fallback to default scheme" module=grpc
Nov 02 11:19:10 server dockerd[1059]: time="2019-11-02T11:19:10.930596542Z" level=info msg="ccResolverWrapper: sending update to cc: {[{unix:///run/containerd/containerd.sock 0  <nil>}] <nil>}" module=grpc
Nov 02 11:19:10 server dockerd[1059]: time="2019-11-02T11:19:10.930621923Z" level=info msg="ClientConn switching balancer to \"pick_first\"" module=grpc
Nov 02 11:19:10 server dockerd[1059]: time="2019-11-02T11:19:10.981128356Z" level=info msg="parsed scheme: \"unix\"" module=grpc
Nov 02 11:19:10 server dockerd[1059]: time="2019-11-02T11:19:10.981167718Z" level=info msg="scheme \"unix\" not registered, fallback to default scheme" module=grpc
Nov 02 11:19:10 server dockerd[1059]: time="2019-11-02T11:19:10.981190341Z" level=info msg="ccResolverWrapper: sending update to cc: {[{unix:///run/containerd/containerd.sock 0  <nil>}] <nil>}" module=grpc
Nov 02 11:19:10 server dockerd[1059]: time="2019-11-02T11:19:10.981202686Z" level=info msg="ClientConn switching balancer to \"pick_first\"" module=grpc
Nov 02 11:19:11 server dockerd[1059]: time="2019-11-02T11:19:11.074191900Z" level=info msg="[graphdriver] using prior storage driver: overlay2"
Nov 02 11:19:11 server dockerd[1059]: time="2019-11-02T11:19:11.157844953Z" level=info msg="Loading containers: start."
Nov 02 11:19:12 server dockerd[1059]: time="2019-11-02T11:19:12.159329593Z" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to set a preferred
Nov 02 11:19:12 server dockerd[1059]: time="2019-11-02T11:19:12.297096462Z" level=info msg="Loading containers: done."
Nov 02 11:19:12 server dockerd[1059]: time="2019-11-02T11:19:12.646584626Z" level=info msg="Docker daemon" commit=9013bf583a graphdriver(s)=overlay2 version=19.03.4
Nov 02 11:19:12 server dockerd[1059]: time="2019-11-02T11:19:12.646760510Z" level=info msg="Daemon has completed initialization"
Nov 02 11:19:12 server dockerd[1059]: time="2019-11-02T11:19:12.848425893Z" level=info msg="API listen on /var/run/docker.sock"
Nov 02 11:19:12 server configure-snat[1517]: mount: /dev/sr0 is write-protected, mounting read-only
Nov 02 11:19:13 server configure-snat[1517]: + iptables -t nat -D POSTROUTING -s 172.17.0.1/16 '!' -o docker0 -j SNAT --to
Nov 02 11:19:13 server configure-snat[1517]: iptables v1.4.21: option "--to" requires an argument
Nov 02 11:19:13 server configure-snat[1517]: Try `iptables -h' or 'iptables --help' for more information.
Nov 02 11:19:13 server configure-snat[1517]: + iptables -t nat -I POSTROUTING -s 172.17.0.1/16 '!' -o docker0 -j SNAT --to
Nov 02 11:19:13 server configure-snat[1517]: iptables v1.4.21: option "--to" requires an argument
Nov 02 11:19:13 server configure-snat[1517]: Try `iptables -h' or 'iptables --help' for more information.
Nov 02 11:19:13 server systemd[1]: docker.service: control process exited, code=exited status=2
Nov 02 11:19:13 server dockerd[1059]: time="2019-11-02T11:19:13.296514020Z" level=info msg="Processing signal 'terminated'"
Nov 02 11:19:13 server dockerd[1059]: time="2019-11-02T11:19:13.297279527Z" level=info msg="Daemon shutdown complete"
Nov 02 11:19:13 server systemd[1]: Failed to start Docker Application Container Engine.
Nov 02 11:19:13 server systemd[1]: Unit docker.service entered failed state.
Nov 02 11:19:13 server systemd[1]: docker.service failed.
Nov 02 11:19:15 server systemd[1]: docker.service holdoff time over, scheduling restart.
Nov 02 11:19:15 server systemd[1]: Stopped Docker Application Container Engine.

На форуме Docker возникла похожая проблема , но ответа пока нет.

1 Ответ

0 голосов
/ 02 ноября 2019

Я обнаружил, configure-snat на самом деле скрипт, внедренный поставщиком VPS. Файл был в /opt/godaddy/docker/configure-snat. В скрипте он пытается внедрить публичный IP в iptables. Однако не удается найти общедоступный IP-адрес, поэтому в команде iptables --to не добавляется аргумент.

Исправление заключается в жестком кодировании общедоступного IP-адреса в сценарии.

...