首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行Docker容器时主机上没有网络

运行Docker容器时主机上没有网络
EN

Stack Overflow用户
提问于 2016-01-10 20:22:12
回答 2查看 1.5K关注 0票数 1

我在Arch Linux机器上,当使用以下命令运行容器时,主机上没有网络:

代码语言:javascript
复制
docker run jenkins

停止码头后,网络又恢复了。任何建议都是非常欢迎的。

编辑:

当使用-p选项运行并提供80以外的其他端口时,网络似乎可用了几分钟,然后又丢失了。

代码语言:javascript
复制
**> docker version**

Client:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.5.1
 Git commit:   a34a1d5-dirty
 Built:        Sun Nov 22 00:15:15 UTC 2015
 OS/Arch:      linux/amd64

Server:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.5.1
 Git commit:   a34a1d5-dirty
 Built:        Sun Nov 22 00:15:15 UTC 2015
 OS/Arch:      linux/amd64

**> docker info**

Containers: 31
Images: 57
Server Version: 1.9.1
Storage Driver: devicemapper
 Pool Name: docker-8:5-548039-pool
 Pool Blocksize: 65.54 kB
 Base Device Size: 107.4 GB
 Backing Filesystem: 
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 3.584 GB
 Data Space Total: 107.4 GB
 Data Space Available: 7.741 GB
 Metadata Space Used: 7.496 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.14 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Deferred Deletion Enabled: false
 Deferred Deleted Device Count: 0
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.113 (2015-12-05)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 4.2.5-1-ARCH
Operating System: Arch Linux (containerized)
CPUs: 4
Total Memory: 7.709 GiB
Name: arch
ID: OF5Y:H7O4:M4R6:GCF6:NSEU:LNG6:K7NV:FJDM:DUVI:6KOM:LTRB:EUPP

> iptables -L

代码语言:javascript
复制
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
DOCKER     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain DOCKER (1 references)
target     prot opt source               destination         
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-13 07:31:19

解决方案是使用以下内容创建或编辑/etc/connman/main.conf:

代码语言:javascript
复制
[General]
NetworkInterfaceBlacklist=vmnet,vboxnet,virbr,ifb,docker,veth,eth,wlan

重新启动连接人。

作为在此描述

票数 2
EN

Stack Overflow用户

发布于 2016-01-10 21:13:59

可能是您的停靠主机网络设置与Docker不太匹配。尝试一下在Docker文档中可以找到的Arch Linux关于网络的特定说明

如果您使用systemd-network版本220或更高版本手动配置网络,您从Docker启动的容器可能无法访问您的网络。从版本220开始,给定网络(net.ipv4.conf.<interface>.forwarding)的转发设置默认为off。此设置阻止IP转发。它还与在容器中启用net.ipv4.conf.all.forwarding设置的Docker冲突。 要解决此问题,请在您的Docker主机add >以下块上编辑/etc/systemd/network/中的/etc/systemd/network/文件: 网络..。IPForward=kernel ... 此配置允许按照预期从容器转发IP。

还可以尝试一下Arch中关于Docker的https://wiki.archlinux.org/index.php/Docker#docker0_Bridge_gets_no_IP_.2F_no_internet_access_in_containers部分:

Docker本身支持IP转发,但默认情况下,systemd重写相应的sysctl设置。以下内容禁用此覆盖(对于所有接口):cat >/etc/systemd/cat/ipFord.Network </etc/systemd/cat/99-docker.conf <

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34710364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档