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