最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

docker容器間的互聯(lián)問題

 更新時間:2023年05月18日 16:17:03   作者:萊特昂  
這篇文章主要介紹了docker容器間的互聯(lián)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

docker容器間互聯(lián)

單機(jī)部署的時候考慮,能不能使docker各個容器間互通呢。比如我的web應(yīng)用容器可以和db容器間互通,而不是現(xiàn)在這樣再web應(yīng)用調(diào)用本機(jī)ip去訪問。

網(wǎng)上查了一下還真有這種方法。

還有兩種方法:

1、links

在容器啟動時,啟動命令中加入links指定鏈接的容器:

docker run -itd --name nginx-web02 --link nginx-web:nginx01 -p 81:81 sunmmi/nginx nginx

run容器nginx-web02時,link容器nginx-web,其中nginx-web:nginx01前面是鏈接哪個容器名,后面是對這個容器別名.

進(jìn)入nginx-web02容器,查看hosts文件,nginx-web,nginx01已經(jīng)增加到hosts文件中.

[root@37e693a5f7a3 /]# cat /etc/hosts
127.0.0.1   localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2  nginx01 7d89f9196f78 nginx-web
172.17.0.3  37e693a5f7a3

此時在容器1中就能通過別名直接Ping通容器2了。

測試:

[root@37e693a5f7a3 /]# ping nginx01
PING nginx01 (172.17.0.2) 56(84) bytes of data.
64 bytes from nginx01 (172.17.0.2): icmp_seq=1 ttl=64 time=0.071 ms
64 bytes from nginx01 (172.17.0.2): icmp_seq=2 ttl=64 time=0.170 ms

2、network

第二種也是在容器啟動時,啟動命令中加入network指定局域網(wǎng)絡(luò):

首先創(chuàng)建一個新的 Docker 網(wǎng)絡(luò):

$ docker network create -d bridge my-net

運(yùn)行一個容器并連接到新建的 my-net 網(wǎng)絡(luò)

$ docker run -it --rm --name busybox1 --network my-net busybox sh

打開新的終端,再運(yùn)行一個容器并加入到 my-net 網(wǎng)絡(luò)

$ docker run -it --rm --name busybox2 --network my-net busybox sh

下面通過 ping 來證明 busybox1 容器和 busybox2 容器建立了互聯(lián)關(guān)系。在 busybox1 容器輸入以下命令

/ # ping busybox2
PING busybox2 (172.19.0.3): 56 data bytes
64 bytes from 172.19.0.3: seq=0 ttl=64 time=0.072 ms
64 bytes from 172.19.0.3: seq=1 ttl=64 time=0.118 ms

用 ping 來測試連接 busybox2 容器,它會解析成 172.19.0.3。同理在 busybox2 容器執(zhí)行 ping busybox1,

/ # ping busybox1
PING busybox1 (172.19.0.2): 56 data bytes
64 bytes from 172.19.0.2: seq=0 ttl=64 time=0.064 ms
64 bytes from 172.19.0.2: seq=1 ttl=64 time=0.143 ms

這樣,busybox1 容器和 busybox2 容器建立了互聯(lián)關(guān)系。

network 官方 docker-compose.yml ,替換links的方法:

network固定子網(wǎng)絡(luò)Ip

適用于鏈接redis等需要固定ip的場景,需要設(shè)置兩點1、容器的networks:ipv4_address,再單獨(dú)配置networks:config:subnet,gateway,參照下面實例:

version: "3.9"
networks:
  loki:
    ipam:
      driver: default
      config:
      # 子網(wǎng)絡(luò)
        - subnet: "172.22.0.0/24"
          gateway: 172.22.0.1
services:
  resty:
    image: beyond147896/resty:latest
    ports:
      - "80:80"
      - "443:443"
    networks:
      loki:
      	# 固定子網(wǎng)ip,網(wǎng)段必須在子網(wǎng)絡(luò)172.22.*.*
        ipv4_address: 172.22.0.2
  redis:
    image: redis:latest
    ports:
      - "6379:6379"
    networks:
      loki:
        # 固定子網(wǎng)ip,網(wǎng)段必須在子網(wǎng)絡(luò)172.22.*.*
        ipv4_address: 172.22.0.99

在web應(yīng)用的配置中也可以直接寫上面配置的ipv4_address固定Ip連通。

如果首次啟動出現(xiàn)報錯,可能是docker-compose的版本不夠高,升級版本后可能可以解決。

如果第二次啟動出現(xiàn)報錯,可能是網(wǎng)絡(luò)占用,使用docker-compose up之后,docker-compose會創(chuàng)建一個名稱為: {項目名}_{網(wǎng)絡(luò)名} 的網(wǎng)絡(luò),一旦創(chuàng)建了這個網(wǎng)絡(luò),docker-compose 將永遠(yuǎn)不會刪除它。

所以當(dāng)修改了docker-compose.yaml文件后,第二次運(yùn)行docker-compose up時,使用的還是之前創(chuàng)建的loki_loki網(wǎng)絡(luò)。

解決方法

將之前創(chuàng)建的網(wǎng)絡(luò)手動刪除:

$ docker network rm loki_loki
$ docker-compose up

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • docker如何部署etcd集群

    docker如何部署etcd集群

    這篇文章主要介紹了docker如何部署etcd集群問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 一些常見的精簡Docker?file規(guī)則總結(jié)

    一些常見的精簡Docker?file規(guī)則總結(jié)

    這篇文章主要介紹了一些常見的精簡Docker?file規(guī)則的相關(guān)資料,這些精簡規(guī)則有助于優(yōu)化Dockerfile,生成更高效、簡潔的鏡像,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-11-11
  • docker-compose集成Jenkins部署,打包,發(fā)布方式

    docker-compose集成Jenkins部署,打包,發(fā)布方式

    在Docker環(huán)境中安裝配置Jenkins,需掛載JDK、Maven等至容器指定路徑,設(shè)置國內(nèi)鏡像提升下載速度,并添加插件與憑據(jù)完成環(huán)境配置
    2024-10-10
  • 使用Docker構(gòu)建Python FastAPI鏡像的最佳實踐

    使用Docker構(gòu)建Python FastAPI鏡像的最佳實踐

    本文分享了優(yōu)化Python FastAPI應(yīng)用Docker部署的關(guān)鍵技巧:使用slim基礎(chǔ)鏡像減小體積,通過多階段構(gòu)建分離編譯與運(yùn)行環(huán)境,利用.dockerignore排除無關(guān)文件,推薦采用非root用戶運(yùn)行增強(qiáng)安全性,需要的朋友可以參考下
    2026-02-02
  • Docker端口沖突5步快速定位并解決容器端口占用難題

    Docker端口沖突5步快速定位并解決容器端口占用難題

    ocker容器端口沖突是部署中的常見問題,通常因指定主機(jī)端口被其他進(jìn)程或容器占用導(dǎo)致,這篇文章主要介紹了Docker端口沖突5步快速定位并解決容器端口占用難題的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2026-04-04
  • docker基礎(chǔ)知識之掛載本地目錄的方法

    docker基礎(chǔ)知識之掛載本地目錄的方法

    本篇文章主要介紹了docker基礎(chǔ)知識之掛載本地目錄的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • 基于docker安裝mariadb配置過程解析

    基于docker安裝mariadb配置過程解析

    這篇文章主要介紹了基于docker安裝mariadb配置過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • docker搭建Mycat實現(xiàn)讀寫分離的項目實踐

    docker搭建Mycat實現(xiàn)讀寫分離的項目實踐

    本文主要介紹了docker搭建Mycat實現(xiàn)讀寫分離的項目實踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Docker實現(xiàn)Mariadb分庫分表及讀寫分離功能

    Docker實現(xiàn)Mariadb分庫分表及讀寫分離功能

    這篇文章主要給大家介紹了關(guān)于Docker實現(xiàn)Mariadb分庫分表及讀寫分離功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • docker swarm外部驗證負(fù)載均衡時不生效的解決方案

    docker swarm外部驗證負(fù)載均衡時不生效的解決方案

    這篇文章主要介紹了docker swarm外部驗證負(fù)載均衡時不生效的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04

最新評論

兴海县| 邯郸县| 息烽县| 宁强县| 新和县| 沂水县| 朝阳市| 乌兰县| 双流县| 连云港市| 霞浦县| 建湖县| 白城市| 乐陵市| 高尔夫| 泰来县| 文昌市| 固镇县| 正安县| 车险| 雷州市| 云南省| 三都| 远安县| 五台县| 霸州市| 清流县| 全南县| 本溪市| 肃宁县| 嘉峪关市| 讷河市| 新巴尔虎右旗| 郧西县| 汝州市| 富平县| 合山市| 乐至县| 保靖县| 济南市| 清苑县|