如果是CentOS7的話,實現(xiàn)Docker容器橋接網(wǎng)絡(luò)的話,采取的方式是不同的。例如宿主機的IP為 192.168.1.101,網(wǎng) 關(guān) 為192.168.1.1。
執(zhí) 行“yum install docker -y”命令,來安裝Docker。
執(zhí) 行“service docker restart” 命 令,來 啟 動Docker。
當需要停止Docker服務的話,執(zhí)行“service docker stop”命令即可。
執(zhí)行“ip link set dev docker0 down”,“brctl delbr docker0”命令,來刪除 Docker0網(wǎng) 絡(luò)。“brctl addbr br0”,“ip link set dev br0 up”,“ip addr add 192.168.1.109/24 dev br0”命令,創(chuàng)建“br0”橋接網(wǎng)卡,為其分配與宿主機同網(wǎng)段的IP。
執(zhí)行“ifconfig”命令,可以看到新建的“br0”網(wǎng)卡。完成橋接之后,會出現(xiàn)網(wǎng)絡(luò)不通的情況,為此執(zhí)行“ip addr del 192.168.1.101/24 dev eth0”命令,清除宿主機的eth0網(wǎng)卡的IP清空。
執(zhí)行“brctl addif br0 eth0”命令,將宿主機的網(wǎng)卡掛載到br0網(wǎng)卡上。
執(zhí) 行“ip route del default”命令,清除原來的路由信息。
執(zhí)行“route -n”命令,會發(fā)現(xiàn)沒有網(wǎng)關(guān)信息。
執(zhí) 行“ip route add default via 192.168.1.1 dev br0”命令,為br0設(shè)置路由信息,使其獲得網(wǎng)關(guān)地址。
為了使Docker順利使用橋接網(wǎng)絡(luò),主要執(zhí)行“vi/etc/sysconfig/dockernetwork”命令,在該文件中 添 加“DOCKER_NETWORK_OPTIONS= "-b=br0"”一行內(nèi)容。
執(zhí) 行“service docker restart” 命 令,來 重 啟Docker。
執(zhí) 行“g i t c l o n e https://github.com/jpetazzo/pipework”命令,來下載pipework,使用該工具,可以很方便的配置網(wǎng)絡(luò)。
執(zhí) 行“cp ~/pipework/pipework /usr/local/bin/”命令,將其復制到系統(tǒng)路徑下,之后就可以直接使用pipework了。
執(zhí) 行“docker images”命令,來查看可用的鏡像,選擇所需的鏡像,利用其名稱和版本號就可以將其啟動。
例 如 執(zhí) 行“docker run -itd --net=none--name=lamp02 centos_7:v1/bin/bash”命令,啟動目標容器“l(fā)amp02”。
執(zhí)行“pipework br0lam p02 192.168.1.109/24@192.168.1.101”命令,為其配置IP地址。
執(zhí) 行“docker attch lamp02”命令,進入該容器。之后在該容器中就可以執(zhí)行安裝軟件,下載數(shù)據(jù)等操作了。
例 如 執(zhí) 行“service sshd restart”命令,來啟動后SSH。執(zhí)行“yum install httpd https-devel -y”命令,安裝Apache組件。之后 執(zhí) 行“/etc/init.d/httpd restart”命令,來啟動 Apache。 執(zhí) 行“netstat-tnl”命令,可以看到 TCP 80端口已經(jīng)打開。在其它主機上打開瀏覽器,訪問該容器的地址,可以顯示測試頁面。
例如,MySQL數(shù)據(jù)庫在Linux中使用的廣泛,在容器中執(zhí)行“yum install mysql mysql-server mysql-devel-y”命令,來安裝MySQL組件。 執(zhí) 行“/etc/init.d/mysqld restart”命令,來啟動 MySQL。執(zhí)行“mysql”命令,就可以進入MySQL控制臺,執(zhí)行“show databases;”命令,來查看數(shù)據(jù)庫信息。利用“create databases”,“create table”等指令,來創(chuàng)建數(shù)據(jù)庫,數(shù)據(jù)表等操作。執(zhí)行“netstat -tnl”命令,顯示MySQL開啟的TCP 306端口。 注意,當執(zhí)行“exit”命令退出,或者重啟Docker服務后,該容器的IP會消失,需要按照上述方法為其重新設(shè)置IP。