1、docker端口映射到宿主机后外网没法访问(防火墙已关闭)
解决方法:mysql
#启用IP路由转发功能: [root@localhost ~]# echo 1 > /proc/sys/net/ipv4/ip_forward 或者 [root@localhost ~]# sysctl -w net.ipv4.ip_forward=1 #以上两种方法均可能当即开启路由功能,但若是系统重启,或重启网卡所设置的值即会丢失。 #若是想永久保留配置,能够修改/etc/sysctl.conf文件 [root@localhost ~]# vi /etc/sysctl.conf 或者 [root@localhost ~]# vi /usr/lib/sysctl.d/00-system.conf 添加以下代码: net.ipv4.ip_forward=1 从新加载系统参数 [root@localhost ~]# sysctl -p 查看是否修改为功 [root@localhost ~]# sysctl net.ipv4.ip_forward 若是返回为“net.ipv4.ip_forward = 1”则表示成功了
2、 windows宿主机没法ping通vmware中安装的docker
截图为vmware中ip地址,centos7虚拟机(192.168.110.128),docker网段(10.10.100.0)
现象:linux
解决方法:
手动在windows宿主机上添加一条路由策略web
route add 10.10.100.0 MASK 255.255.255.0 192.168.110.128
3、 Error response from daemon: driver failed programming external connectivity on endpoint pensive_panini
现象:sql
[root@bogon ~]# sudo docker run -d --restart=always -p 80:80 rancher/server 9d918ae01d60dc5ad749f98cc93fc144231051c7f8ab7a32d873ab6b3157fd38 docker: Error response from daemon: driver failed programming external connectivity on endpoint pensive_panini (fb0be019dff5a5824452718fa556c5d8264e76a2addacadbaf1b8fc23cae2855): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 80 -j DNAT --to-destination 10.10.100.2:80 ! -i docker0: iptables: No chain/target/match by that name. (exit status 1)).
解决方法:docker
[root@bogon ~]# systemctl restart docker [root@bogon ~]# docker container restart 9d918
4、centos7解决 docker Failed to get D-Bus connection 报错
在docker容器里面安装mysql数据库,如下为安装mysql的命令:数据库
yum -y install mariadb* systemctl start mariadb.service # 运行到这条报错 systemctl enable mariadb.service
解决方法:
这个的缘由是由于dbus-daemon没能启动。其实systemctl并非不可使用。在CentOS7中的安全模块selinux把权限禁掉了,参数给容器加特权,不加上传镜像会报相似权限错误。OSError: [Errno 13] Permission denied: ‘/tmp/registry/repositories/liibrary’)或者(Received unexpected HTTP status: 500 Internal Server Error)
将你的CMD或者entrypoint设置为/usr/sbin/init便可。会自动将dbus等服务启动起来。 而后就可使用systemctl了。命令以下:windows
#在建立docker容器时添加--privileged docker run --privileged -tid --name "webserver" --mount source=my-vol,target=/webapp training/webapp /usr/sbin/init