日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

复制vmware overLay网络无法ping通 ping www.baidu.com可以

發布時間:2023/12/3 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 复制vmware overLay网络无法ping通 ping www.baidu.com可以 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

因為忘記關閉防火墻了!!!!!? ? 要永久關閉!!

?

修改hostname

https://blog.csdn.net/qq_27327261/article/details/109100219

?

關閉防火墻

https://blog.csdn.net/qq_27327261/article/details/109099020

?

1) 初始化swarm

docker swarm init # Swarm initialized: current node (0r4xjgtu4nd9txrsbfn1lo5gu) is now a manager. # # To add a worker to this swarm, run the following command: # # docker swarm join \ # --token SWMTKN-1-0q35cj5j0va82a0t3mhkbesirqb6lqgqlkmznbwx1ojbou4u75-ejrors77ezcw25nmy9g90u9a0 \ # 172.16.0.226:2377 # # To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

?

2)創建overlay網絡

docker network create -d overlay --attachable prod-overlay

?

3)創建10個overlay容器

docker service create -td --name c --replicas 10 --network prod-overlay busybox

?

4)不同虛擬機的容器ping一下是可以ping通的

docker exec? ? c.1.0d5lp95bt73ou3t18zky09qc5? ? ping? ? ?c.3.e9blo0rq21tnppvkmg66nsygi

?

?

?

?

?

?

?

https://blog.csdn.net/mylitboy/article/details/106369721

Docker Swarm實現跨宿主機容器間訪問

麥粒橙?2020-05-27 06:05:47??264??收藏?1

分類專欄:?Docker?文章標簽:?docker?swarm

版權

使用Docker Swarm實現跨宿主機容器間訪問

背景:

在SerA服務器,運行了一個任務調度系統xxl容器ConA。
在SerB服務器,運行了一個SpringBoot服務ConB,注冊到任務調度系統中。

在任務調度系統中,看到的調度器節點IP是SerB服務器分配給ConB容器的IP地址。 導致任務調度系統調度失敗,提示ConB地址鏈接不上。

分析下來,是由于ConA和ConB是跨宿主機的容器,無法通信。

網上看到了很多方案,包括Overlay網絡、OpenvSwitch、consul方案等,最終使用Docker Swarm解決了,發現很簡單,過程如下。

1. 初始化swarm

在主節點運行docker swarm init,初始化swarm。

docker swarm init # Swarm initialized: current node (0r4xjgtu4nd9txrsbfn1lo5gu) is now a manager. # # To add a worker to this swarm, run the following command: # # docker swarm join \ # --token SWMTKN-1-0q35cj5j0va82a0t3mhkbesirqb6lqgqlkmznbwx1ojbou4u75-ejrors77ezcw25nmy9g90u9a0 \ # 172.16.0.226:2377 # # To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

2. 創建Overlay網絡

在主節點,創建overlay模式網絡。

docker network create --driver=overlay --gateway 192.168.1.1 --subnet 192.168.1.0/24 --attachable my_network # m3k69pn88gtre361upi

可以通過docker network ls命令,查看網絡列表。

docker network ls # NETWORK ID NAME DRIVER SCOPE # acaeb6e14a1e bridge bridge local # a8e5fdd055b9 docker_gwbridge bridge local # b50eb414bcb4 host host local # om6lst4j52go ingress overlay swarm # m3k69pn88gtr my_network overlay swarm # 0c76adacfcfc none null local

3. 子節點加入集群

復制上面初始化swarm命令結果中的語句,在子節點運行即可。

docker swarm join \--token SWMTKN-1-va82a0t3mhkbesirqb6lqgqlkmznbwxu4u75-ejrors790u9a0 \172.16.0.226:2377 # This node joined a swarm as a worker.

可以在主節點,通過docker node ls命令,查看節點列表。

docker node ls # ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS # 0r4xjgtu4nd9tsbfn1lo5gu * ecs-01 Ready Active Leader # s67afk1e9nx0174yeqff6g2 ecs.h02 Ready Active

4. 運行容器加入網絡

在容器運行命令中,加入--network my_network --ip 192.168.1.123即可。

docker run -it -d --network my_network --ip 192.168.1.123 ubuntu

?

?

?

?

?

https://chanjarster.github.io/post/docker-overlay-network/

一種生產環境Docker Overlay Network的配置方案

January 9, 2019

?

介紹一種生產環境Docker overlay network的配置方案。

概要

先講一下生產環境中的問題:

  • 有多個Docker host,希望能夠通過Docker swarm連接起來。
  • Docker swarm只適合于無狀態應用,不適合有狀態應用。
  • 因此生產環境中會同時存在
  • 無狀態應用:利用docker service create/docker stack deploy創建的。
  • 有狀態應用:利用docker run/docker compose up創建的。
  • 希望兩種應用能夠連接到同一個overlay網絡,在網絡內部能夠通過
  • tasks.<service-name>?DNS name 連接到無狀態應用(見Container discovery)
  • <container-name>?DNS name 連接到有狀態應用

解決辦法:

  • 創建attachable的overlay network
  • 有狀態應用掛到這個overlay network上
  • 無狀態應用也掛到這個overlay network上
  • 步驟

    到manager節點上創建attachable的overlay network,名字叫做prod-overlay:

    docker network create -d overlay --attachable prod-overlay

    在manager節點上查看這個網絡是否創建成功:

    $ docker network lsNETWORK ID NAME DRIVER SCOPE fbfde97ed12a bridge bridge local 73ab6bbac970 docker_gwbridge bridge local a2adb3de5f7a host host local nm7pgzuh6ww4 ingress overlay swarm 638e550dab67 none null local qqf78g8iio10 prod-overlay overlay swarm

    在worker節點上查看這個網絡,這時你看不到這個網絡,不過不要擔心,當后面在worker節點上創建工作負載后就能看到了:

    $ docker network lsNETWORK ID NAME DRIVER SCOPE fbfde97ed12a bridge bridge local 73ab6bbac970 docker_gwbridge bridge local a2adb3de5f7a host host local nm7pgzuh6ww4 ingress overlay swarm 638e550dab67 none null local

    在manager上創建容器c1,掛到prod-overlay?network上:

    docker run --name c1 --network prod-overlay -itd busybox

    在worker上創建容器c2,掛到prod-overlay?network上:

    docker run --name c2 --network prod-overlay -itd busybox

    在manager上創建service?c,掛到prod-overlay?network上:

    docker service create -td --name c --replicas 2 --network prod-overlay busybox

    驗證

    查看worker節點的network

    之前在worker節點上沒有看到prod-overlay?network,現在你應該可以看見了:

    $ docker network ls NETWORK ID NAME DRIVER SCOPE 01180b9d4833 bridge bridge local cd94df435afc docker_gwbridge bridge local 74721e7670eb host host local nm7pgzuh6ww4 ingress overlay swarm 32e6853ea78d none null local dw8kd2nb2yl3 prod-overlay overlay swarm

    確認容器可以互ping

    到manager節點上,讓c1?ping?c2

    $ docker exec c1 ping -c 2 c2 PING c2 (10.0.2.2): 56 data bytes 64 bytes from 10.0.2.2: seq=0 ttl=64 time=0.682 ms 64 bytes from 10.0.2.2: seq=1 ttl=64 time=0.652 ms

    到manager節點上,讓c1?ping?tasks.c,tasks.c是之前創建的service?c的DNS name:

    $ docker exec c1 ping -c 2 tasks.c PING tasks.c (10.0.2.8): 56 data bytes 64 bytes from 10.0.2.8: seq=0 ttl=64 time=2.772 ms 64 bytes from 10.0.2.8: seq=1 ttl=64 time=0.694 ms

    到manager節點上,讓c1?查詢?tasks.c的DNS name,可以看到tasks.c有兩條記錄:

    $ docker exec c1 nslookup -type=a tasks.c Server: 127.0.0.11 Address: 127.0.0.11:53Non-authoritative answer: Name: tasks.c Address: 10.0.2.7 Name: tasks.c Address: 10.0.2.8

    到manager節點上,查看service?c的task,看到有c.1、c.2兩個task,分別部署在兩個節點上:

    $ docker service ps c ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS p5n70vhtnz2f c.1 busybox:latest docker-learn-1 Running Running 17 minutes ago byuoox1t7cve c.2 busybox:latest docker-learn-2 Running Running 17 minutes ago

    到c.1?task所在的節點上,查看task?c.1的容器名:

    $ docker ps -f name=c.1 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 795a3bd3c20a busybox:latest "sh" 21 minutes ago Up 21 minutes c.1.p5n70vhtnz2f5q8p2pcvbyfmw

    然后在c1里ping task?c.1的容器名:

    $ docker exec c1 ping -c 2 c.1.p5n70vhtnz2f5q8p2pcvbyfmw PING c.1.p5n70vhtnz2f5q8p2pcvbyfmw (10.0.2.7): 56 data bytes 64 bytes from 10.0.2.7: seq=0 ttl=64 time=0.198 ms 64 bytes from 10.0.2.7: seq=1 ttl=64 time=0.128 ms

    你同樣可以:

    • 在c2里:
    • ping?c1
    • ping?tasks.c
    • ping task?c.1、c.2的容器
    • 在task?c.1、c.2的容器里:
    • ping?c1、c2;
    • ping?tasks.c
    • ping task?c.1、c.2的容器

    注意

    通過docker run?/?docker compose up創建的容器的名字,要保證在整個集群里是唯一的。docker 不會幫你檢查名稱沖突的情況,如果名稱沖突了那么會得到錯誤的DNS結果。

    參考資料

    • Use overlay networks
    • Use an overlay network for standalone containers
    • Docker Reference Architecture: Designing Scalable, Portable Docker Container Networks

    ?

    ?

    總結

    以上是生活随笔為你收集整理的复制vmware overLay网络无法ping通 ping www.baidu.com可以的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。