国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

在Docker中自定義網(wǎng)絡(luò)配置,實現(xiàn)容器與主機的連通性

這篇具有很好參考價值的文章主要介紹了在Docker中自定義網(wǎng)絡(luò)配置,實現(xiàn)容器與主機的連通性。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在Docker中自定義網(wǎng)絡(luò)配置,實現(xiàn)容器與主機的連通性

【實驗步驟】

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33

ONBOOT=yes

[root@localhost ~]# systemctl restart network

[root@localhost ~]# mkdir /opt/centos -p??

[root@localhost ~]# mount /dev/cdrom /opt/centos/

mount: /dev/sr0 is write-protected, mounting read-only

[root@localhost ~]# cd /opt/

[root@localhost opt]# ls -l??????\\查看是否有以下文件centos,Packages.tar.gz ,postgres.tar

total 472742

drwxrwxr-x. 8 root root ?????2048 Nov 26 ?2018 centos

-rw-r--r--. 1 root root 108512388 Jun ?2 17:51 Packages.tar.gz

-rw-r--r--. 1 root root 375567360 Jun ?2 17:52 postgres.tar

[root@localhost opt]# tar -zxvf Packages.tar.gz

[root@localhost opt]# ls -l

total 472758

drwxrwxr-x. 8 root root ?????2048 Nov 26 ?2018 centos

drwxr-xr-x. 3 root root ????12288 Mar ?8 ?2020 Packages

-rw-r--r--. 1 root root 108512388 Jun ?2 17:51 Packages.tar.gz

-rw-r--r--. 1 root root 375567360 Jun ?2 17:52 postgres.tar

[root@localhost opt]#

[root@localhost opt]# vi /etc/yum.repos.d/CentOS-Base.repo?

[centos]

name=centos

baseurl=file:///opt/centos

gpgcheck=0

enabled=1

[Packages]

name=Packages

baseurl=file:///opt/Packages

gpgcheck=0

enabled=1

使用yum安裝docker容器

[root@localhost opt]# ?yum -y install docker-io

啟動docker容器服務

[root@localhost opt]# systemctl start docker

查看當前docker狀態(tài)

[root@localhost opt]# docker images

REPOSITORY ?????????TAG ????????????????IMAGE ID ???????????CREATED ????????????VIRTUAL SIZE

上傳一個鏡像 postgres.tar

將鏡像上傳docker容器

[root@localhost opt]# docker load -i postgres.tar

再次查看當前docker狀態(tài)

[root@localhost opt]# docker images

REPOSITORY ?????????TAG ????????????????IMAGE ID ???????????CREATED ????????????VIRTUAL SIZE

training/postgres ??latest ?????????????1ca72400eeb5 ???????9 years ago ????????364.6 MB

[root@localhost opt]#

用戶使用--net=none后,可以自行配置網(wǎng)絡(luò),讓容器達到跟平常一樣具有訪問網(wǎng)絡(luò)的權(quán)限。通過這個過程,可以了解Docker配置網(wǎng)絡(luò)的細節(jié)。

1?首先,啟動一個/bin/bash容器,指定--net=none參數(shù)。

[root@localhost opt]# docker run -i -t --rm --net=none ?training/postgres ?/bin/bash

root@7792787a5b3b:/#

2?重新打開一個遠程連接在本地主機查找容器的進程id,并為它創(chuàng)建網(wǎng)絡(luò)命名空間。

?[root@localhost ~]# docker ps -a????//用于查找docker容器的name

CONTAINER ID ???????IMAGE ??????????????COMMAND ????????????CREATED ????????????STATUS ?????????????PORTS ??????????????NAMES

7792787a5b3b ???????training/postgres ??"/bin/bash" ????????43 seconds ago ?????Up 42 seconds ??????????????????????????jolly_pike

[root@localhost ~]# docker inspect -f '{{.State.Pid}}' 7792787a5b3b

2559

[root@localhost ~]# pid=2559

[root@localhost ~]# mkdir -p /var/run/netns

[root@localhost ~]# ln -s /proc/$pid/ns/net /var/run/netns/$pid

3?檢查橋接網(wǎng)卡的IP和子網(wǎng)掩碼信息。

[root@localhost ~]# ip addr show docker0

4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000

????link/ether 56:84:7a:fe:97:99 brd ff:ff:ff:ff:ff:ff

????inet 172.17.42.1/16 scope global docker0

???????valid_lft forever preferred_lft forever

[root@localhost ~]#

4?創(chuàng)建一對veth pair接口A和B,綁定A到網(wǎng)橋docker0,并啟用它。

[root@localhost ~]# ip link add A type veth peer name B

[root@localhost ~]# ?brctl addif docker0 A

[root@localhost ~]# ip link set A up

[root@localhost ~]# ip ?add

…….

5: B@A: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000

????link/ether 4a:20:7f:7e:72:98 brd ff:ff:ff:ff:ff:ff

6: A@B: <NO-CARRIER,BROADCAST,MULTICAST,UP,M-DOWN> mtu 1500 qdisc noqueue master docker0 state LOWERLAYERDOWN group default qlen 1000

????link/ether 2a:dd:f7:26:8d:12 brd ff:ff:ff:ff:ff:ff

[root@localhost ~]#

查看到A@B當前的狀態(tài)是UP

5?將B放到容器的網(wǎng)絡(luò)命名空間,命名為eth0,啟動它并配置一個可用IP(橋接網(wǎng)段)和默認網(wǎng)關(guān)。

[root@localhost ~]# ?ip link set B netns $pid

[root@localhost ~]# ip netns exec $pid ip link set dev B name eth0

[root@localhost ~]# ip netns exec $pid ip link set eth0 up

[root@localhost ~]# ?ip netns exec $pid ip addr add 172.17.42.99/16 dev eth0

[root@localhost ~]# ip netns exec $pid ip route add default via 172.17.42.1

[root@localhost ~]#

以上,就是Docker配置網(wǎng)絡(luò)的具體過程。

查看更改后的容器IP。

root@7792787a5b3b:/# ip add

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000

????link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

????inet 127.0.0.1/8 scope host lo

???????valid_lft forever preferred_lft forever

????inet6 ::1/128 scope host

???????valid_lft forever preferred_lft forever

5: eth0@if6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000

????link/ether 4a:20:7f:7e:72:98 brd ff:ff:ff:ff:ff:ff

????inet 172.17.42.99/16 scope global eth0

???????valid_lft forever preferred_lft forever

????inet6 fe80::4820:7fff:fe7e:7298/64 scope link

???????valid_lft forever preferred_lft forever

root@7792787a5b3b:/#

測試連通性

root@7792787a5b3b:/# ping -c 4 192.168.50.128

PING 192.168.50.128 (192.168.50.128) 56(84) bytes of data.

64 bytes from 192.168.50.128: icmp_seq=1 ttl=64 time=0.315 ms

64 bytes from 192.168.50.128: icmp_seq=2 ttl=64 time=0.081 ms

64 bytes from 192.168.50.128: icmp_seq=3 ttl=64 time=0.080 ms

64 bytes from 192.168.50.128: icmp_seq=4 ttl=64 time=0.164 ms

--- 192.168.50.128 ping statistics ---

4 packets transmitted, 4 received, 0% packet loss, time 3001ms

rtt min/avg/max/mdev = 0.080/0.160/0.315/0.095 ms

root@7792787a5b3b:/#

[root@localhost ~]# ping -c 4 172.17.42.99

PING 172.17.42.99 (172.17.42.99) 56(84) bytes of data.

64 bytes from 172.17.42.99: icmp_seq=1 ttl=64 time=0.326 ms

64 bytes from 172.17.42.99: icmp_seq=2 ttl=64 time=0.073 ms

64 bytes from 172.17.42.99: icmp_seq=3 ttl=64 time=0.070 ms

64 bytes from 172.17.42.99: icmp_seq=4 ttl=64 time=0.072 ms

--- 172.17.42.99 ping statistics ---

4 packets transmitted, 4 received, 0% packet loss, time 3000ms

rtt min/avg/max/mdev = 0.070/0.135/0.326/0.110 ms

[root@localhost ~]#

【步驟解釋】

  • 在編輯器中打開 /etc/sysconfig/network-scripts/ifcfg-ens33 文件,并將 ONBOOT 參數(shù)設(shè)置為 yes。這樣可以在啟動時自動激活網(wǎng)絡(luò)接口。
  • 使用 systemctl restart network 命令重啟網(wǎng)絡(luò)服務,以使更改生效。
  • 創(chuàng)建一個目錄 /opt/centos,并將光盤設(shè)備 /dev/cdrom 掛載到該目錄下。如果光盤是只讀的,會顯示 "mount: /dev/sr0 is write-protected, mounting read-only"。
  • 進入 /opt/ 目錄,使用 ls -l 命令查看是否存在以下文件:centos、Packages.tar.gz、postgres.tar。
  • 使用 tar -zxvf Packages.tar.gz 命令解壓 Packages.tar.gz 文件。
  • 編輯 /etc/yum.repos.d/CentOS-Base.repo 文件,在文件中添加一個名為 centos 的倉庫,其 baseurl 設(shè)置為 file:///opt/centos,同時將 enabled 參數(shù)設(shè)置為 1。
  • 使用 yum -y install docker-io 命令安裝 Docker 容器。
  • 使用 systemctl start docker 命令啟動 Docker 服務。
  • 使用 docker images 命令查看當前可用的 Docker 鏡像。
  • 使用 docker load -i postgres.tar 命令將 postgres.tar 鏡像加載到 Docker 容器中。
  • 再次使用 docker images 命令確認鏡像加載成功。
  • 使用 docker run -i -t --rm --net=none training/postgres /bin/bash 命令啟動一個名為 training/postgres 的容器,并指定 --net=none 參數(shù)以便自行配置網(wǎng)絡(luò)。
  • 在本地主機上打開一個新的終端連接,并使用 docker ps -a 命令查找容器的進程 ID(CONTAINER ID)。
  • 使用 docker inspect -f '{{.State.Pid}}' <CONTAINER ID> 命令獲取容器的進程 ID(PID)。
  • 創(chuàng)建一個網(wǎng)絡(luò)命名空間,將容器的網(wǎng)絡(luò)命名空間鏈接到本地主機的 /var/run/netns 目錄。
  • 使用 ip addr show docker0 命令檢查橋接網(wǎng)卡 docker0 的 IP 地址和子網(wǎng)掩碼信息。
  • 創(chuàng)建一對 veth 接口 A 和 B,將接口 A 綁定到橋接網(wǎng)卡 docker0 上,并啟用它。
  • 將接口 B 移動到容器的網(wǎng)絡(luò)命名空間中,并將其重命名為 eth0,然后啟用接口 eth0 并為其配置一個可用的 IP 地址(在橋接網(wǎng)段中)和默認網(wǎng)關(guān)。
  • 使用 ip add 命令檢查更改后容器中的 IP 地址。
  • 進行連通性測試,使用 ping 命令測試容器和本地主機之間的連通性。

通過這個實驗,您可以了解到在Docker中如何配置網(wǎng)絡(luò),并自行配置容器的網(wǎng)絡(luò)連接,使其具有訪問網(wǎng)絡(luò)的權(quán)限。文章來源地址http://www.zghlxwxcb.cn/news/detail-473285.html

到了這里,關(guān)于在Docker中自定義網(wǎng)絡(luò)配置,實現(xiàn)容器與主機的連通性的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 進階Docker4:網(wǎng)橋模式、主機模式與自定義網(wǎng)絡(luò)

    進階Docker4:網(wǎng)橋模式、主機模式與自定義網(wǎng)絡(luò)

    目錄 ?網(wǎng)絡(luò)相關(guān) 子網(wǎng)掩碼 網(wǎng)關(guān) 規(guī)則 docke網(wǎng)絡(luò)配置 bridge模式 host模式 創(chuàng)建自定義網(wǎng)絡(luò)(自定義IP) IP 子網(wǎng)掩碼 網(wǎng)關(guān) DNS 端口號 子網(wǎng)掩碼 互聯(lián)網(wǎng)是由許多小型網(wǎng)絡(luò)構(gòu)成的,每個網(wǎng)絡(luò)上都有許多主機,這樣便構(gòu)成了一個有層次的結(jié)構(gòu)。 IP 地址在設(shè)計時就考慮到地址分配的層次特點

    2024年01月19日
    瀏覽(22)
  • 配置Docker OpenWrt與宿主機網(wǎng)絡(luò)互通且作為宿主機網(wǎng)關(guān)

    最近需要用Docker版的Openwrt作為旁路由(網(wǎng)關(guān)),在配置過程中遇到一些問題,通過查閱資料,最終完美解決。現(xiàn)在將整體方案和具體操作步驟貼到這里分享給大家 這里我使用的環(huán)境如下: 宿主機操作系統(tǒng):Armbian 宿主機ip:192.168.5.2 宿主機新macvlan接口ip:192.168.5.3 Docker鏡像:

    2024年02月03日
    瀏覽(52)
  • docker-compose 網(wǎng)絡(luò)配置- IP 主機名 hosts配置

    docker-compose 網(wǎng)絡(luò)配置- IP 主機名 hosts配置

    配置IP 配置 主機名 配置hosts 下面的配置可以修改/etc/hosts文件: 追加 zk 172.2.0.101 、 kf 172.2.0.102 配置完成進入容器,可查看驗證 完整例子 創(chuàng)建一個網(wǎng)絡(luò) 配置 單節(jié)點kafka、zookeeper,kafka通過主機名 訪問zookeeper 3 驗證

    2024年02月07日
    瀏覽(23)
  • 新手小白安裝aio小主機布置家庭網(wǎng)絡(luò)-4-proxmox-ve安裝LXC、pve創(chuàng)建ct容器安裝docker。

    新手小白安裝aio小主機布置家庭網(wǎng)絡(luò)-4-proxmox-ve安裝LXC、pve創(chuàng)建ct容器安裝docker。

    PVE是使用Debian系統(tǒng)作為底層。我們創(chuàng)建Debian LXC容器。 下載Debian11DE? ct模板 創(chuàng)建CT,一定把無特權(quán)容器前面的勾去掉。我們需要一個特權(quán)的容器。勾選嵌套。完成后不要啟動! 。 開啟ct102容器前,進入pve shell 設(shè)置ct102容器設(shè)置 添加代碼 ctrl+x保存配置,y確認,回車。

    2024年02月15日
    瀏覽(42)
  • 分享從零開始學習網(wǎng)絡(luò)設(shè)備配置--任務3.7 使用動態(tài)路由RIPv2實現(xiàn)網(wǎng)絡(luò)連通

    分享從零開始學習網(wǎng)絡(luò)設(shè)備配置--任務3.7 使用動態(tài)路由RIPv2實現(xiàn)網(wǎng)絡(luò)連通

    任務描述 某公司隨著規(guī)模的不斷擴大,路由器的數(shù)量開始有所增加。網(wǎng)絡(luò)管理員發(fā)現(xiàn)原有的靜態(tài)路由已經(jīng)不適合現(xiàn)在的公司,實施動態(tài)路由RIPv2協(xié)議配置,實現(xiàn)網(wǎng)絡(luò)中所有主機之間互相通信。 ? 在路由器較多的網(wǎng)絡(luò)環(huán)境中,手工配置靜態(tài)路由會給管理人員帶來很大的工作負擔

    2024年02月06日
    瀏覽(27)
  • docker網(wǎng)絡(luò)配置固定容器ip

    如果不固定ip,每次啟動時,docker會動態(tài)給容器分配ip,有些時候會造成影響。 1)創(chuàng)建自定義docker內(nèi)部網(wǎng)絡(luò) docker network 官方文檔 (看不懂可用瀏覽器翻譯):https://docs.docker.com/engine/reference/commandline/network_create/ –subnet:指定網(wǎng)段的 CIDR 格式的子網(wǎng) 其中 172.172.0.0/16 表示子網(wǎng)范

    2024年02月15日
    瀏覽(22)
  • Docker學習:容器五種(3+2)網(wǎng)絡(luò)模式 | bridge模式 | host模式 | none模式 | container 模式 | 自定義網(wǎng)絡(luò)模式詳解

    Docker學習:容器五種(3+2)網(wǎng)絡(luò)模式 | bridge模式 | host模式 | none模式 | container 模式 | 自定義網(wǎng)絡(luò)模式詳解

    本講是從Docker系列講解課程,單獨抽離出來的一個小節(jié),重點介紹 容器網(wǎng)絡(luò)模式 , 屬于了解范疇,充分了容器的網(wǎng)絡(luò)模式, 更有助于更好的理解Docker的容器之間的訪問邏輯 。 疑問: 為什么要了解容器的網(wǎng)絡(luò)模式? 首先, 容器之間 雖然不是物理隔離,但是它們彼此之間

    2024年02月09日
    瀏覽(27)
  • 【云原生】Docker網(wǎng)絡(luò)Overlay搭建Consul實現(xiàn)跨主機通信

    【云原生】Docker網(wǎng)絡(luò)Overlay搭建Consul實現(xiàn)跨主機通信

    目錄 1.overlay網(wǎng)絡(luò)是什么? 實現(xiàn)overlay環(huán)境 1.overlay網(wǎng)絡(luò)是什么? ????????在Docker中,Overlay網(wǎng)絡(luò)是一種容器網(wǎng)絡(luò)驅(qū)動程序,它允許在多個Docker主機上創(chuàng)建一個虛擬網(wǎng)絡(luò),使得容器可以通過這個網(wǎng)絡(luò)相互通信。 ????????Overlay網(wǎng)絡(luò)使用VXLAN(Virtual Extensible LAN)技術(shù)來實現(xiàn)多主

    2024年02月14日
    瀏覽(22)
  • Docker】容器里面拷文件到宿主機[或]宿主機拷文件到容器里面

    【Docker】容器里面拷文件到宿主機[或]宿主機拷文件到容器里面 - 知乎 答:在宿主機里面執(zhí)行以下命令 docker cp 容器名:要拷貝的文件在容器里面的路徑 要拷貝到宿主機的相應路徑 示例: 假設(shè)容器名為webnphp,要從容器里面拷貝的文件路為: 現(xiàn)在要將tox.ini從容器里面拷到宿主

    2024年02月06日
    瀏覽(56)
  • 【Java】微服務——Docker容器部署(docker安裝,docker配置鏡像加速,DockerHub,docker基本操作,Dockerfile自定義鏡像.Docker-Compose)

    【Java】微服務——Docker容器部署(docker安裝,docker配置鏡像加速,DockerHub,docker基本操作,Dockerfile自定義鏡像.Docker-Compose)

    微服務雖然具備各種各樣的優(yōu)勢,但服務的拆分通用給部署帶來了很大的麻煩。 分布式系統(tǒng)中,依賴的組件非常多,不同組件之間部署時往往會產(chǎn)生一些沖突。 在數(shù)百上千臺服務中重復部署,環(huán)境不一定一致,會遇到各種問題 1.1.1.應用部署的環(huán)境問題 大型項目組件較多,運

    2024年02月04日
    瀏覽(33)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包