docker 安裝后, 會(huì)自動(dòng)在系統(tǒng)做一個(gè)網(wǎng)橋配置 docker0 . 其容器都會(huì)分配到此網(wǎng)橋配置下的獨(dú)立, 私有 IP 地址.
如果你要自己配置橋接, 也可以把 docker0 刪除掉. docker run
的時(shí)候使用參數(shù) -b
指定你自己配置的網(wǎng)橋.
docker 容器的網(wǎng)絡(luò), 是相對(duì)于實(shí)體機(jī)的私有網(wǎng)絡(luò). 在網(wǎng)橋配置下, 只要知道 IP 地址, 各容器, 及實(shí)體機(jī)本身都可以自由通信.
但是在實(shí)體機(jī)的網(wǎng)卡網(wǎng)絡(luò)下, docker 容器就不可見(jiàn)了. 要讓容器被外界訪問(wèn)到, 最簡(jiǎn)單的一個(gè)方法就是直接做端口映射, 把容器的端口和實(shí)體機(jī)端口成對(duì)連通. docker run
的時(shí)候使用 -p
參數(shù)就可以指定一對(duì)端口映射:
docker run -d -p 5000:22 -p 18888:8888 zys:common
上面的命令, 在啟動(dòng)容器時(shí), 指定的端口映射表示實(shí)體機(jī) 5000 端口映射到容器 22 端口, 同時(shí) 18888 端口映射到容器 8888 端口. 這樣做之后, 就可以通過(guò)實(shí)體機(jī)的 5000 端口 ssh 登錄到容器了:
ssh root@localhost -p5000 ssh root@realip -p5000
docker run
時(shí)還有其它參數(shù)可用到控制容器的網(wǎng)絡(luò)配置:
-p
-h
--link=CONTAINER_NAME:ALIAS
ALIAS
主機(jī)名.--dns
更多建議: