docker網(wǎng)卡的IP地址修改方法總結(jié)
前言
Docker容器啟動(dòng)后,默認(rèn)會(huì)在主機(jī)上分配一個(gè)網(wǎng)卡,該網(wǎng)卡對(duì)應(yīng)一個(gè)網(wǎng)絡(luò)命名空間,并在這個(gè)網(wǎng)絡(luò)命名空間下隨機(jī)分配一個(gè)IP地址。
如果想修改Docker容器的IP地址,有以下幾種方法:
1. 修改Docker宿主機(jī)的Docker網(wǎng)絡(luò)
可以在Docker主機(jī)上修改/etc/docker/daemon.json
文件,添加如下內(nèi)容:
{ "bip": "192.168.1.5/24", }
這會(huì)將Docker容器分配IP的子網(wǎng)修改為192.168.1.0/24
,并且默認(rèn)網(wǎng)關(guān)設(shè)置為192.168.1.1
。
重啟Docker后生效,此后創(chuàng)建的容器會(huì)在此子網(wǎng)分配IP。
2. 啟動(dòng)容器時(shí)指定IP
使用--ip
參數(shù)可以指定容器的IP地址:
docker run -it --ip 192.168.1.10 ubuntu:18.04
這會(huì)強(qiáng)制分配192.168.1.10
這個(gè)IP給新啟動(dòng)的容器。
3. 啟動(dòng)容器后修改IP
可以在啟動(dòng)容器后,直接修改容器內(nèi)的網(wǎng)絡(luò)配置來(lái)變更IP地址。
首先,要定位到容器的網(wǎng)絡(luò)命名空間??梢允褂?
docker inspect 容器id|name # 查看"NetworkSettings"下的"SandboxKey"值
然后使用ip netns exec
命令進(jìn)入該網(wǎng)絡(luò)命名空間:
sudo ip netns exec 沙盒KEY /bin/bash
在該命名空間下修改網(wǎng)絡(luò)配置即可。例如:
ip addr add 192.168.1.15/24 dev eth0 ip link set eth0 up
這會(huì)將eth0網(wǎng)卡的IP設(shè)置為192.168.1.15
。
退出后容器的IP就已經(jīng)修改。
需要注意,如果容器已經(jīng)把舊IP寫入到其它容器或者宿主機(jī)的配置(例如/etc/resolv.conf
)中,那么還需要相應(yīng)修改那些地方的配置,否則可能出現(xiàn)網(wǎng)絡(luò)異常的情況。
以上是修改Docker容器IP地址的幾種常用方法。根據(jù)實(shí)際場(chǎng)景選擇適用的方案即可。
總結(jié)
到此這篇關(guān)于docker網(wǎng)卡的IP地址修改方法的文章就介紹到這了,更多相關(guān)docker網(wǎng)卡IP地址修改內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何在 Ubuntu 下通過(guò) Docker 部署 Caddy 
本文介紹了如何在Ubuntu系統(tǒng)下通過(guò)Docker部署Caddy服務(wù)器,首先安裝Docker,然后啟動(dòng)Docker服務(wù)并設(shè)置為開機(jī)自啟,接著拉取Caddy鏡像,并創(chuàng)建一個(gè)Caddyfile配置文件,使用命令運(yùn)行Caddy容器,并將本地的Caddyfile掛載到容器內(nèi),感興趣的朋友跟隨小編一起看看吧2025-03-03Docker 手動(dòng)配置容器網(wǎng)絡(luò)實(shí)例詳解
這篇文章主要介紹了Docker 手動(dòng)配置容器網(wǎng)絡(luò)實(shí)例詳解的相關(guān)資料,這里有具體實(shí)現(xiàn),需要的朋友可以參考下2016-11-11docker: invalid reference format.問(wèn)題
這篇文章主要介紹了docker: invalid reference format.問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01清理docker磁盤空間的方法總結(jié)(附詳細(xì)講解)
docker?鏡像特別容易占空間,稍微不注意可能磁盤爆滿,所以本文給大家詳細(xì)介紹了如何清理?docker?磁盤空間,并通過(guò)代碼示例給大家講解的非常詳細(xì),需要的朋友可以參考下2024-02-02docker發(fā)布sunnyNgrok實(shí)現(xiàn)內(nèi)外網(wǎng)穿透的方法(容器內(nèi)執(zhí)行命令)
這篇文章主要介紹了docker上發(fā)布 sunnyNgrok 實(shí)現(xiàn)內(nèi)外網(wǎng)穿透,容器內(nèi)執(zhí)行命令,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03Docker?部署?Minio?對(duì)象存儲(chǔ)服務(wù)器的過(guò)程詳解
Minio是一個(gè)輕量級(jí)的應(yīng)用程序,可以在各種環(huán)境中運(yùn)行,包括公共云、私有云和混合云,這篇文章主要介紹了Docker?部署?Minio?對(duì)象存儲(chǔ)服務(wù)器的過(guò)程詳解,需要的朋友可以參考下2024-07-07