virtualbox虛擬ubuntu 16.04,系統自帶docker版本1.13.0
docker0的默認IP為172.17.0.1
使用命令設定docker0的IP:
sudo ifconfig docker0 192.168.3.1 netmask 255.255.255.0
設定完后使用命令查看docker0,確實修改成功了。
然后使用命令重啟docker服務
sudo service docker restart
再查看docker0的IP地址時又變成默認的172.17.0.1了,好傷心....
請教大神,這怎么解決啊
uj5u.com熱心網友回復:
你的問題解決了嗎 求解決方案~~~多謝!!!uj5u.com熱心網友回復:
原則上是不能通過容器內部命令保存自定義的ip地址有兩種方法可以設定固定ip:
1. 把ifconfig命令加入到/root/.bashrc里,不過如果不用docker exe等登錄,設定不會有作用;前提是容器有privileged或者cap-add=net_admin的許可,這個不推薦
2. 從外部通過ip netns exec ${NSID} ifconfig eth0 xxxx修改,這個要寫成腳本,每次啟動該容器的時候都要通過腳本
例如:
#!/bin/bash
[[ "$1" ]] && your_container_name="$1" || { echo "第一個引數是容器名稱"; exit 1;}
[[ "$2" ]] && your_image="$2" || { echo "第二個引數是鏡像名稱"; exit 2; }
[[ "$3" ]] && your_exec="$3" || { echo "第三個引數是運行的程式"; exit 3; }
[[ "$4" ]] && your_ip="$4" || { echo "第四個引數是固定ip"; exit 4; }
docker run -d --name=${your_container_name} ${your_image} ${your_exec}
mkdir -p /var/run/netns
unlink /var/run/netns/${your_container_name}
ln -s /proc/$( docker inspect -f {{.State.Pid}} ${your_container_name})/ns/net /var/run/netns/${your_container_name}
ip netns exec ${your_container_name} ifconfig eth0 ${your_ip}
uj5u.com熱心網友回復:
可以修改docker.service中的啟動引數,bind一個ip或者自己手動創建個網橋,然后通過指定引數 系結到新網橋就可以了,不用每次都設定轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/58897.html
標籤:Docker
