使用 --bip 選項執行 docker 失敗

使用 --bip 選項執行 docker 失敗

碼頭工人版本:

Version: 1.12.2
API version: 1.24
Go version: go1.7
Git commit: 8eab29e
OS/Arch: linux/amd64

碼頭工人資訊:

Storage Driver: btrfs
Build Version: Btrfs v4.1.2+20151002
Library Version: 101
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: host bridge null overlay
Swarm: inactive
Runtimes: oci runc
Default Runtime: oci
Security Options: apparmor
Kernel Version: 4.4.21-68-default
Operating System: SUSE Linux Enterprise Server 12 SP2
OSType: linux
Architecture: x86_64
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/

問題:

docker config
/etc/sysconfig/docker
DOCKER_OPTS="--insecure-registry=0.0.0.0/0 --bip=127.12.7.1/24 --ip-forward=false --log-level=debug"

docker run -it --rm busybox /bin/sh

它失敗並出現以下錯誤:

docker: Error response from daemon: invalid header field value "oci runtime error: container_linux.go:247: starting container process caused \"process_linux.go:334: running prestart hook 0 caused \\\"error running hook: exit status 1, stdout: , stderr: time=\\\\\\\"2016-10-27T20:51:30Z\\\\\\\" level=fatal msg=\\\\\\\"failed to set gateway while updating gateway: route for the gateway 127.12.7.1 could not be found: invalid argument\\\\\\\" \\\\n\\\"\"\n".

請注意,使用--bip=172.17.0.1/16(預設)或如果我刪除該--bip選項,則不存在此類問題。

有人看過這個或有建議嗎?

答案1

選擇任何其他地址。如果位址以 開頭127,則它是子網路的一部分127.0.0.0/8,並且保留用於環回目的(如127.0.0.1localhost。任何其他私人地址都應該有效。

答案2

我找到的解決方案是從 docker 配置中刪除此配置。 MountFlags=private並重新啟動docker服務。

答案3

你嘗試過重啟docker嗎?

service docker restart

它解決了我的問題。

相關內容