在CentOS 7中管理Docker容器网络
2019-12-22
如果是CentOS7的话,实现Docker容器桥接网络的话,采取的方式是不同的。例如宿主机的IP为 192.168.1.101,网 关 为192.168.1.1。
执 行“yum install docker -y”命令,来安装Docker。
执 行“service docker restart” 命 令,来 启 动Docker。
当需要停止Docker服务的话,执行“service docker stop”命令即可。
执行“ip link set dev docker0 down”,“brctl delbr docker0”命令,来删除 Docker0网 络。“brctl addbr br0”,“ip link set dev br0 up”,“ip addr add 192.168.1.109/24 dev br0”命令,创建“br0”桥接网卡,为其分配与宿主机同网段的IP。
执行“ifconfig”命令,可以看到新建的“br0”网卡。完成桥接之后,会出现网络不通的情况,为此执行“ip addr del 192.168.1.101/24 dev eth0”命令,清除宿主机的eth0网卡的IP清空。
执行“brctl addif br0 eth0”命令,将宿主机的网卡挂载到br0网卡上。
执 行“ip route del default”命令,清除原来的路由信息。
执行“route -n”命令,会发现没有网关信息。
执 行“ip route add default via 192.168.1.1 dev br0”命令,为br0设置路由信息,使其获得网关地址。
为了使Docker顺利使用桥接网络,主要执行“vi/etc/sysconfig/dockernetwork”命令,在该文件中 添 加“DOCKER_NETWORK_OPTIONS= "-b=br0"”一行内容。
执 行“service docker restart” 命 令,来 重 启Docker。
执 行“g i t c l o n e https://github.com/jpetazzo/pipework”命令,来下载pipework,使用该工具,可以很方便的配置网络。
执 行“cp ~/pipework/pipework /usr/local/bin/”命令,将其复制到系统路径下,之后就可以直接使用pipework了。
执 行“docker images”命令,来查看可用的镜像,选择所需的镜像,利用其名称和版本号就可以将其启动。
例 如 执 行“docker run -itd --net=none--name=lamp02 centos_7:v1/bin/bash”命令,启动目标容器“lamp02”。
执行“pipework br0lam p02 192.168.1.109/24@192.168.1.101”命令,为其配置IP地址。
执 行“docker attch lamp02”命令,进入该容器。之后在该容器中就可以执行安装软件,下载数据等操作了。
例 如 执 行“service sshd restart”命令,来启动后SSH。执行“yum install httpd https-devel -y”命令,安装Apache组件。之后 执 行“/etc/init.d/httpd restart”命令,来启动 Apache。 执 行“netstat-tnl”命令,可以看到 TCP 80端口已经打开。在其它主机上打开浏览器,访问该容器的地址,可以显示测试页面。
例如,MySQL数据库在Linux中使用的广泛,在容器中执行“yum install mysql mysql-server mysql-devel-y”命令,来安装MySQL组件。 执 行“/etc/init.d/mysqld restart”命令,来启动 MySQL。执行“mysql”命令,就可以进入MySQL控制台,执行“show databases;”命令,来查看数据库信息。利用“create databases”,“create table”等指令,来创建数据库,数据表等操作。执行“netstat -tnl”命令,显示MySQL开启的TCP 306端口。 注意,当执行“exit”命令退出,或者重启Docker服务后,该容器的IP会消失,需要按照上述方法为其重新设置IP。