Docker容器啟動后,默認會在主機上分配一個網卡,該網卡對應一個網絡命名空間,并在這個網絡命名空間下隨機分配一個IP地址。
如果想修改Docker容器的IP地址,有以下幾種方法:
1. 修改Docker宿主機的Docker網絡
可以在Docker主機上修改`/etc/docker/daemon.json`文件,添加如下內容:
```bash
{
"bip": "192.168.1.5/24",
}
```
這會將Docker容器分配IP的子網修改為`192.168.1.0/24`,并且默認網關設置為`192.168.1.1`。
重啟Docker后生效,此后創建的容器會在此子網分配IP。
2. 啟動容器時指定IP
使用`--ip`參數可以指定容器的IP地址:
```bash
docker run -it --ip 192.168.1.10 ubuntu:18.04
```
這會強制分配`192.168.1.10`這個IP給新啟動的容器。
3. 啟動容器后修改IP
可以在啟動容器后,直接修改容器內的網絡配置來變更IP地址。
首先,要定位到容器的網絡命名空間。可以使用:
```bash
docker inspect 容器id|name # 查看"NetworkSettings"下的"SandboxKey"值
```
然后使用`ip netns exec`命令進入該網絡命名空間:
```bash
sudo ip netns exec 沙盒KEY /bin/bash
```
在該命名空間下修改網絡配置即可。例如:
```bash
ip addr add 192.168.1.15/24 dev eth0
ip link set eth0 up
```
這會將eth0網卡的IP設置為`192.168.1.15`。
退出后容器的IP就已經修改。
需要注意,如果容器已經把舊IP寫入到其它容器或者宿主機的配置(例如`/etc/resolv.conf`)中,那么還需要相應修改那些地方的配置,否則可能出現網絡異常的情況。
以上是修改Docker容器IP地址的幾種常用方法。根據實際場景選擇適用的方案即可。
- 寫在前面
- linux命令行
- 基礎篇
- 1.SSH連接工具
- 2.查看系統版本信息
- 3.查看IP地址
- 4.查看cpu信息
- 5.查看內存磁盤信息
- 6.文件上傳下載
- 7.linux中查找文件(find)
- 8.修改root賬號密碼
- 9.通過進程號查看端口
- 10.校驗MD5值
- 11.Linux命令之seq
- 12.Linux命令之corntab
- 13.linux命令之awk
- 進階篇
- 查看防火墻是否開啟
- linux創建新的用戶
- 更改文件的用戶組
- 查找JAVA_HOME路徑
- Linux主機時間同步
- 高CPU排查-個人總結
- Linux查看GPU性能
- 文件排序工具sort
- sed
- grep
- 實戰篇
- 1.Linux基線
- 2.iptables學習
- 3.Tcpdump抓包命令
- 4.CentOS7更換鏡像源
- shell腳本篇
- 1.Shell腳本速查手冊
- 2.Shell中獲取取昨天和多天前日期
- 3.rsync刪除文件
- 4.nginx自動化安裝腳本
- 5.后臺啟動服務
- 6.備份文件保留5天
- 數據庫
- MySQL數據庫備份命令
- ES數據庫備份
- filebeat工具
- packetbeat工具
- MySQL數據庫中刪除表
- Docker容器
- 1.安裝docker容器
- 2.docker容器的使用
- 3.docker overlay2 是存放什么的
- 4.docker刪除已停止的容器
- 5.docker網卡的IP地址修改
- Ubuntu容器下載vim,curl命令
- docker磁盤占用瞬間變大問題解決
- Python學習
- 安裝python環境
- Python 把代碼編譯成pyc文件