亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

docker容器之間通訊-network解讀

 更新時間:2023年12月15日 09:23:20   作者:古甲哈醒  
這篇文章主要介紹了docker容器之間通訊-network解讀,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

docker為容器創(chuàng)建獨立的網(wǎng)絡環(huán)境,實現(xiàn)宿主和容器、容器之間的網(wǎng)絡隔離,默認使用bridge模式的網(wǎng)絡,實現(xiàn)容器之間、容器與宿主機之間、乃至與外界之間 的網(wǎng)絡通信。

但是我們在實際部署應用的時候,發(fā)現(xiàn)并不能直接通過容器內(nèi)部端口訪問另外一個容器的應用(比如:mysql容器端口是3306,web應用不能直接通過3306訪問mysql),而是通過端口映射到宿主機器來實現(xiàn)容器之間的訪問。

那么有什么方式能實現(xiàn)直接通過容器內(nèi)部端口進行數(shù)據(jù)通訊呢?那就是通過network方式。

docker network創(chuàng)建一個橋接網(wǎng)絡,在docker run的時候?qū)⑷萜髦付ǖ叫聞?chuàng)建的橋接網(wǎng)絡中,這樣同一橋接網(wǎng)絡中的容器就可以通過互相訪問。

1、創(chuàng)建network

[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker network create my-network
[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
e4de24aaf1c2        bridge              bridge              local
093caaca12b4        host                host                local
a2b05d7d591a        my-network          bridge              local
6e6497f8e311        none                null                local
[root@iZbp13sno1lc2yxlhjc4b3Z ~]# 

可以看到my-network已經(jīng)創(chuàng)建好,另外其他3個是docker默認創(chuàng)建的。

2、創(chuàng)建容器時指定網(wǎng)絡

在創(chuàng)建容器時指定使用my-network網(wǎng)絡,并設置網(wǎng)絡別名。

docker run -itd --name mysql --network my-network --network-alias mysql -e MYSQL_ROOT_PASSWORD=root mysql:5.7.24
  • –network 指定使用的網(wǎng)絡
  • –network-alias 設置網(wǎng)絡別名

如果容器已創(chuàng)建好但是之前沒有指定自己的網(wǎng)絡,則使用下面命令修改:

docker network connect --alias mysql my-network mysql

第一個mysql是網(wǎng)絡別名 第二個mysql是容器名

3、通過網(wǎng)絡別名測試訪問

進入web容器,使用ping命令測試

[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker exec -it tomcat_kq bash
root@161eee53356c:/usr/local/tomcat# ping mysql
PING mysql (172.18.0.2) 56(84) bytes of data.
64 bytes from mysql.my-network (172.18.0.2): icmp_seq=1 ttl=64 time=0.049 ms

可以看到通過mysql網(wǎng)絡別名可以直接訪問。

另外通過容器id或者主機名也是可以訪問的。但是你不加入這個自定義網(wǎng)絡,則沒法訪問。這個在項目實際應用中非常重要,特別是通過主機名識別服務的項目,如springcoud項目

4、項目實際應用

修改web項目訪問mysql的數(shù)據(jù)庫地址,由ip改為網(wǎng)絡別名,端口為容器內(nèi)部端口:

jdbc:mysql://mysql:3306/kaoqin?allowMultiQueries=true

注意:mysql是前面設置的網(wǎng)絡別名,3306是容器內(nèi)部端口

這里特別提一下springcloud項目,eureka中心一般是通過主機名來中注冊發(fā)現(xiàn)服務的,但是一放到docker容器中,springboot應用就報錯,提示不能發(fā)送心跳到注冊中心,就是因為容器中間的網(wǎng)絡隔離造成的,通過把所有容器加入到自定義網(wǎng)絡就能解決此問題。

總結

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

相關文章

  • centos7安裝/升級docker和docker compose方式

    centos7安裝/升級docker和docker compose方式

    文章總結了在升級Docker和安裝Docker Compose時遇到的問題,包括舊版安裝和新版安裝的差異、docker-compose的安裝問題以及卸載前的注意事項
    2024-12-12
  • Docker容器之間數(shù)據(jù)傳輸?shù)膶崿F(xiàn)

    Docker容器之間數(shù)據(jù)傳輸?shù)膶崿F(xiàn)

    本文主要介紹了Docker容器之間數(shù)據(jù)傳輸?shù)膶崿F(xiàn),文中根據(jù)實例編碼詳細介紹的十分詳盡,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • docker-compose如何定義容器的ip

    docker-compose如何定義容器的ip

    這篇文章主要介紹了docker-compose如何定義容器的ip問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • docker交叉編譯工具鏈解讀

    docker交叉編譯工具鏈解讀

    使用Docker容器進行交叉編譯具有環(huán)境隔離、一致性、可移植性和簡化配置等優(yōu)勢,以下是一個示例的Dockerfile,用于創(chuàng)建一個包含C++11 ARM交叉編譯工具鏈的Docker容器,構建完成后,可以在容器中進行ARM交叉編譯
    2024-12-12
  • Ubuntu24.04LTS在線安裝Docker引擎的詳細過程

    Ubuntu24.04LTS在線安裝Docker引擎的詳細過程

    本文介紹了在Ubuntu 24.04 LTS系統(tǒng)上安裝Docker引擎的步驟,包括卸載舊版本、設置Docker APT倉庫、安裝最新版或指定版本的Docker,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • Dockerfile及新型容器鏡像構建技術詳解

    Dockerfile及新型容器鏡像構建技術詳解

    本文詳細介紹了dockerfile以及新型容器鏡像構建技術,文章中通過詳細的代碼示例介紹了dockerfile生成容器鏡像器的全過程,感興趣的小伙伴可以參考一下
    2023-04-04
  • Docker中啟動Nacos的實現(xiàn)示例

    Docker中啟動Nacos的實現(xiàn)示例

    本文主要介紹了Docker中啟動Nacos的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-02-02
  • Docker 部署單機版 Pulsar 和集群架構 Redis(開發(fā)神器)的方法

    Docker 部署單機版 Pulsar 和集群架構 Redis(開發(fā)神器)的方法

    這篇文章主要介紹了Docker 部署單機版 Pulsar 和集群架構 Redis(開發(fā)神器)的相關知識,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • 10分鐘學會docker

    10分鐘學會docker

    Docker 是一個開源的應用容器引擎,基于 Go 語言 并遵從Apache2.0協(xié)議開源。Docker 可以讓開發(fā)者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然后發(fā)布到任何流行的 Linux 機器上,也可以實現(xiàn)虛擬化。
    2017-06-06
  • Docker容器實現(xiàn)SSH遠程直連

    Docker容器實現(xiàn)SSH遠程直連

    在某些特殊需求下,我們想ssh直接遠程連接docker 容器,本文主要介紹了Docker容器實現(xiàn)SSH遠程直連,具有一定的參考價值,感興趣的可以了解一下
    2023-08-08

最新評論