Docker如何添加自定義網(wǎng)橋
Docker服務(wù)進(jìn)程在啟動(dòng)的時(shí)候會(huì)生成一個(gè)名為docker0的網(wǎng)橋,容器默認(rèn)都會(huì)掛載到該網(wǎng)橋下,但是我們可以通過添加docker啟動(dòng)參數(shù)-b Birdge 或更改docker配置文件來選擇使用哪個(gè)網(wǎng)橋。
操作系統(tǒng):centos7
刪除docker0網(wǎng)橋
service docker stop //關(guān)閉docker服務(wù) ip link set dev docker0 down //關(guān)閉docker0網(wǎng)橋 ip link del dev docker0 //刪除docker0網(wǎng)橋
自定義網(wǎng)橋設(shè)置(/etc/sysconfig/network-scripts/ifcfg-br0文件)
DEVICE="br0" ONBOOT="yes" TYPE="Bridge" BOOTPROTO="static" IPADDR="10.10.10.20" NETMASK="255.255.255.0" GATEWAY="10.10.10.20" DEFROUTE="yes" NM_CONTROLLED="no"
重啟網(wǎng)絡(luò)服務(wù)
service network restart
查看網(wǎng)橋
[black@test opt]$ brctl show bridge name bridge id STP enabled interfaces br0 8000.32e7297502be no virbr0 8000.000000000000 yes
接下來我們需要重新啟動(dòng)docker,可以在啟動(dòng)docker服務(wù)進(jìn)程時(shí)使用以下兩種方式:
第一種:-b 參數(shù)指定網(wǎng)橋
[root@test opt]# docker -d -b br0 INFO[0000] Listening for HTTP on unix (/var/run/docker.sock) INFO[0000] [graphdriver] using prior storage driver "devicemapper" WARN[0000] Running modprobe bridge nf_nat failed with message: , error: exit status 1 INFO[0000] Loading containers: start. ...... INFO[0000] Loading containers: done. INFO[0000] Daemon has completed initialization INFO[0000] Docker daemon commit=786b29d execdriver=native-0.2 graphdriver=devicemapper version=1.7.1
不知道為什么這樣啟動(dòng)docker 服務(wù)進(jìn)程會(huì)阻塞當(dāng)前終端(︶︿︶),只好重新開一個(gè)終端,然后運(yùn)行一個(gè)容器
[root@test shell]# docker run -ti --rm centos:latest
[root@3c6874559411 /]# ifconfig
eth0 Link encap:Ethernet HWaddr 02:42:0A:0A:0A:01
inet addr:10.10.10.1 Bcast:0.0.0.0 Mask:255.255.255.0
inet6 addr: fe80::42:aff:fe0a:a01/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:418 (418.0 b) TX bytes:508 (508.0 b)
容器成功使用br0網(wǎng)橋。
第二種:修改/etc/sysconfig/docker文件
我在進(jìn)行這種操作的時(shí)候遇到了一點(diǎn)問題,我修改了/etc/sysconfig/docker文件
[root@test opt]# vi /etc/sysconfig/docker # /etc/sysconfig/docker # # Other arguments to pass to the docker daemon process # These will be parsed by the sysv initscript and appended # to the arguments list passed to docker -d other_args="-b br0"
接著使用service docker start啟動(dòng)docker服務(wù),但是other_args并不生效,在centos7下servicer docker start仍然會(huì)采用systemctl start docker.service命令來運(yùn)行,于是我就打開/usr/lib/systemd/system/docker.service查看
[root@test opt]# vi /lib/systemd/system/docker.service [Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network.target docker.socket Requires=docker.socket [Service] ExecStart=/usr/bin/docker -d -H fd:// MountFlags=slave LimitNOFILE=1048576 LimitNPROC=1048576 LimitCORE=infinity [Install] WantedBy=multi-user.target
發(fā)現(xiàn)ExecStart一項(xiàng)并沒有運(yùn)行參數(shù),于是將ExecStart改為/usr/bin/docker -d -b br0 -H fd://,運(yùn)行docker服務(wù),啟動(dòng)一個(gè)容器發(fā)現(xiàn)能夠成功使用br0網(wǎng)橋。
在網(wǎng)上看到了一種更好的方法,將docker.service改為如下
[black@test ~]$ vi /usr/lib/systemd/system/docker.service [Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network.target docker.socket Requires=docker.socket [Service] EnvironmentFile=-/etc/sysconfig/docker ExecStart=/usr/bin/docker -d $other_args -H fd:// MountFlags=slave LimitNOFILE=1048576 LimitNPROC=1048576 LimitCORE=infinity [Install] WantedBy=multi-user.target
這個(gè)時(shí)候在other_args中添加的參數(shù)就有效了。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
docker在win10家庭版下構(gòu)建laravel開發(fā)環(huán)境的教程詳解
這篇文章主要介紹了docker在win10家庭版下構(gòu)建laravel開發(fā)環(huán)境,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06
如何設(shè)置docker開機(jī)自啟動(dòng),并設(shè)置容器自動(dòng)重啟
這篇文章主要介紹了如何設(shè)置docker開機(jī)自啟動(dòng),并設(shè)置容器自動(dòng)重啟問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
Docker 數(shù)據(jù)卷操作的實(shí)現(xiàn)
這篇文章主要介紹了Docker 數(shù)據(jù)卷操作的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
安裝Docker時(shí)執(zhí)行yum?install?-y?yum-utils報(bào)錯(cuò)解決辦法
在安裝工具時(shí)使用yum命令報(bào)錯(cuò),問題通常是服務(wù)器無法連接網(wǎng)絡(luò),解決此問題需配置鏡像源,文中通過代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-11-11
遷移變更Docker默認(rèn)數(shù)據(jù)存儲(chǔ)目錄的步驟詳解
Docker安裝的默認(rèn)數(shù)據(jù)目錄為/var/lib/docker,但是如果/目錄掛載的磁盤空間不夠,就需要遷移docker數(shù)據(jù)到其他目錄,接下來本就給大家介紹遷移變更Docker默認(rèn)數(shù)據(jù)存儲(chǔ)目錄的操作步驟,需要的朋友可以參考下2023-12-12
docker網(wǎng)卡的IP地址修改方法總結(jié)
這篇文章主要給大家總結(jié)介紹了關(guān)于docker網(wǎng)卡的IP地址修改方法,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用docker具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2023-06-06
Docker 數(shù)據(jù)卷及數(shù)據(jù)容器詳細(xì)介紹及示例
這篇文章主要介紹了Docker 數(shù)據(jù)卷及數(shù)據(jù)容器詳細(xì)介紹及示例的相關(guān)資料,Docker 很強(qiáng)大,不僅部署維護(hù)提高效率,docker和宿主之間的數(shù)據(jù)共享以及docker間的數(shù)據(jù)共享需要好好研究一下,需要的朋友可以參考下2016-11-11
使用Docker registry鏡像創(chuàng)建私有倉庫的方法
本篇文章主要介紹了使用Docker registry鏡像創(chuàng)建私有倉庫的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-04-04
docker啟動(dòng)rabbitmq以及使用方式詳解
RabbitMQ是一個(gè)由erlang開發(fā)的消息隊(duì)列,下面這篇文章主要給大家介紹了關(guān)于docker啟動(dòng)rabbitmq以及使用的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08
啟動(dòng)docker錯(cuò)誤systemctl status docker.service問題及解決
文章討論了啟動(dòng)Docker和執(zhí)行docker ps命令失敗的問題,但docker -v顯示成功,解決辦法包括在阿里云容器鏡像中找到鏡像加速器或使用公共鏡像地址,默認(rèn)情況下,Docker使用官方地址2025-01-01

