ifconfig 和 route 已過時,現在推薦 ip 命令
ip a 等價於 ip addr
ip netns exec 用於配置網路命名空間
注意:這個是針對較舊版本的 docker
sudo apt-get install bridge-utils
# 顯示網橋資訊,可以看到有兩個容器連線到 bridge 上
sudo brctl show
# 容器中的網絡卡介面是 eth0
docker run -h="nn1" --net=none --name nn1 -it -v $download_src:$download_dst yuzx2008/web_env:v2 /bin/bash
# 從容器內看網路
ip addr show eth0
ip route
# 檢視容器程序的 pid
pid=`docker inspect -f
'}' nn1`
# 建立 ip netns 命令要用的命名空間條目
sudo mkdir -p /var/run/netns
sudo ln -s /proc/$pid/ns/net /var/run/netns/$pid
# 檢視網橋的 ip 位址和子網掩碼,172.17.42.1/16
ip addr show docker0
# 新增介面 a,對應容器內的介面 b
sudo ip link add a type veth peer name b
# 繫結 a 到網橋
sudo brctl addif docker0 a
# 啟動 a 介面
sudo ip link set a up
# 檢視網橋,可以看到 a
sudo brctl show
# 檢視所有的介面 a b docker0
ifconfig -a
# 將 b 放到容器的網路命名空間,可以容器中 ifconfig -a
sudo ip link set b netns $pid
# b 在容器中的名稱為 eth0
sudo ip netns exec
$pid ip link set dev b name eth0
# 設定它的 mac 位址
sudo ip netns exec
$pid ip link set eth0 address 12:34:56:78:9a:bc
# 啟用它
sudo ip netns exec
$pid ip link set eth0 up
# ip 位址
sudo ip netns exec
$pid ip addr add 172.17.42.99/16 dev eth0
# 新增路由
sudo ip netns exec
$pid ip route add default via 172.17.42.1
# 容器網路已配置好
容器退出時,docker 會清理容器,網路命名空間也會被銷毀
# 清理
sudo find -l /var/run/netns -type l -delete
Docker極速構建
docker極速構建指,使用docker的映象快速構建開發環境 功能模組 應用服務。本文會為你介紹一條命令,搭建出你想要的容器。構建過程中,我們會把容器的掛載目錄集中放在一起,全文中統一使用 home work做為主目錄。主目錄 home work可以換成linux命令中的變數 pwd意為當前目錄。...
docker構建映象
做映象就是構建映象!提交容器更改,生成新的映象!docker commit 容器名 新映象的名字 tag 例如 將web2容器提交為乙個新的映象,新映象的名字為nginx 1.1 在docker中映象的儲存方式是分層儲存的!每個映象都會有不同層數!映象的層數只能增加不能減少!映象是唯讀的!裡面的記憶...
docker構建映象
建立docker映象有兩種方法。1。docker commit 這種不推薦,就不介紹了。2。用docker build命令和dockerfile檔案 下面構建乙個nginx小應用。建立資料夾 mkdir static web 進入這個資料夾 cd static web 建立dockerfile檔案 ...