鍍金池/ 教程/ Linux/ 快速配置指南
利用數(shù)據(jù)卷容器來(lái)備份、恢復(fù)、遷移數(shù)據(jù)卷
Docker 網(wǎng)絡(luò)實(shí)現(xiàn)
實(shí)戰(zhàn) Django
YAML 模板文件
名字空間
控制組
編輯網(wǎng)絡(luò)配置文件
列出
進(jìn)入容器
Compose 命令說(shuō)明
創(chuàng)建 Tomcat/Weblogic 集群
守護(hù)態(tài)運(yùn)行
快速配置指南
其它安全特性
示例:創(chuàng)建一個(gè)點(diǎn)到點(diǎn)連接
CentOS 系列安裝 Docker
數(shù)據(jù)卷容器
鏡像
指令
創(chuàng)建鏡像
Docker 容器
創(chuàng)建鏡像
常用倉(cāng)庫(kù)
總結(jié)
什么是 Docker
存出和載入鏡像
使用
獲取鏡像
容器互聯(lián)
為什么要使用 Docker?
使用 Wordpress 入門(mén) Fig
啟動(dòng)
容器訪問(wèn)控制
私有倉(cāng)庫(kù)
使用
基本架構(gòu)
自定義網(wǎng)橋
環(huán)境變量參考
實(shí)戰(zhàn) Rail
服務(wù)端的防護(hù)
刪除
鏡像的實(shí)現(xiàn)原理
多臺(tái)物理主機(jī)之間的容器互聯(lián)
Docker 倉(cāng)庫(kù)
簡(jiǎn)介
數(shù)據(jù)卷
命令參考
使用 Supervisor 來(lái)管理進(jìn)程
移除
基本結(jié)構(gòu)
命令查詢
終止容器
聯(lián)合文件系統(tǒng)
安裝
簡(jiǎn)介
配置 DNS
內(nèi)核能力機(jī)制
導(dǎo)出和導(dǎo)入容器
配置 docker0 網(wǎng)橋
倉(cāng)庫(kù)配置文件
內(nèi)核名字空間
標(biāo)準(zhǔn)化開(kāi)發(fā)測(cè)試和生產(chǎn)環(huán)境
外部訪問(wèn)容器
fig.yml 參考
Ubuntu 系列安裝 Docker
有用資源
安裝
端口映射實(shí)現(xiàn)
安裝 Fig
工具和示例
簡(jiǎn)介
控制組
容器格式
Docker Hub

快速配置指南

當(dāng) Docker 啟動(dòng)時(shí),會(huì)自動(dòng)在主機(jī)上創(chuàng)建一個(gè) docker0 虛擬網(wǎng)橋,實(shí)際上是 Linux 的一個(gè) bridge,可以理解為一個(gè)軟件交換機(jī)。它會(huì)在掛載到它的網(wǎng)口之間進(jìn)行轉(zhuǎn)發(fā)。

同時(shí),Docker 隨機(jī)分配一個(gè)本地未占用的私有網(wǎng)段(在 RFC1918 中定義)中的一個(gè)地址給 docker0 接口。比如典型的 172.17.42.1,掩碼為 255.255.0.0。此后啟動(dòng)的容器內(nèi)的網(wǎng)口也會(huì)自動(dòng)分配一個(gè)同一網(wǎng)段(172.17.0.0/16)的地址。

當(dāng)創(chuàng)建一個(gè) Docker 容器的時(shí)候,同時(shí)會(huì)創(chuàng)建了一對(duì) veth pair 接口(當(dāng)數(shù)據(jù)包發(fā)送到一個(gè)接口時(shí),另外一個(gè)接口也可以收到相同的數(shù)據(jù)包)。這對(duì)接口一端在容器內(nèi),即 eth0;另一端在本地并被掛載到 docker0 網(wǎng)橋,名稱以 veth 開(kāi)頭(例如 vethAQI2QT)。通過(guò)這種方式,主機(jī)可以跟容器通信,容器之間也可以相互通信。Docker 就創(chuàng)建了在主機(jī)和所有容器之間一個(gè)虛擬共享網(wǎng)絡(luò)。

http://wiki.jikexueyuan.com/project/docker-technology-and-combat/images/network.png" alt="Docker 網(wǎng)絡(luò)" />

接下來(lái)的部分將介紹在一些場(chǎng)景中,Docker 所有的網(wǎng)絡(luò)定制配置。以及通過(guò) Linux 命令來(lái)調(diào)整、補(bǔ)充、甚至替換 Docker 默認(rèn)的網(wǎng)絡(luò)配置。

下面是一個(gè)跟 Docker 網(wǎng)絡(luò)相關(guān)的命令列表。

其中有些命令選項(xiàng)只有在 Docker 服務(wù)啟動(dòng)的時(shí)候才能配置,而且不能馬上生效。

  • -b BRIDGE or --bridge=BRIDGE --指定容器掛載的網(wǎng)橋
  • --bip=CIDR --定制 docker0 的掩碼
  • -H SOCKET... or --host=SOCKET... --Docker 服務(wù)端接收命令的通道
  • --icc=true|false --是否支持容器之間進(jìn)行通信
  • --ip-forward=true|false --請(qǐng)看下文容器之間的通信
  • --iptables=true|false --禁止 Docker 添加 iptables 規(guī)則
  • --mtu=BYTES --容器網(wǎng)絡(luò)中的 MTU

下面2個(gè)命令選項(xiàng)既可以在啟動(dòng)服務(wù)時(shí)指定,也可以 Docker 容器啟動(dòng)(docker run)時(shí)候指定。在 Docker 服務(wù)啟動(dòng)的時(shí)候指定則會(huì)成為默認(rèn)值,后面執(zhí)行 docker run 時(shí)可以覆蓋設(shè)置的默認(rèn)值。

  • --dns=IP_ADDRESS... --使用指定的DNS服務(wù)器
  • --dns-search=DOMAIN... --指定DNS搜索域

最后這些選項(xiàng)只有在 docker run 執(zhí)行時(shí)使用,因?yàn)樗轻槍?duì)容器的特性內(nèi)容。

  • -h HOSTNAME or --hostname=HOSTNAME --配置容器主機(jī)名
  • --link=CONTAINER_NAME:ALIAS --添加到另一個(gè)容器的連接
  • --net=bridge|none|container:NAME_or_ID|host --配置容器的橋接模式
  • -p SPEC or --publish=SPEC --映射容器端口到宿主主機(jī)
  • -P or --publish-all=true|false --映射容器所有端口到宿主主機(jī)