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

docker容器之間通訊-network解讀

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

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

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

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

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

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默認(rèn)創(chuàng)建的。

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

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

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

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

docker network connect --alias mysql my-network mysql

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

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

進(jìn)入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)絡(luò)別名可以直接訪問。

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

4、項目實際應(yīng)用

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

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

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

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

總結(jié)

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

相關(guān)文章

  • Docker tomcat的設(shè)置內(nèi)存大小配置方式

    Docker tomcat的設(shè)置內(nèi)存大小配置方式

    這篇文章主要介紹了Docker tomcat的設(shè)置內(nèi)存大小配置方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 使用docker inspect查看容器部署位置的方法

    使用docker inspect查看容器部署位置的方法

    Docker Compose 作為 Docker 生態(tài)系統(tǒng)中的重要組件,極大簡化了多容器應(yīng)用的管理工作,在實際運維過程中,我們經(jīng)常需要了解這些由 Compose 啟動的容器的具體部署位置和詳細(xì)配置信息,這正是docker inspect命令大顯身手的地方,下面小編給大家介紹一下查看方法
    2025-05-05
  • 查看Docker容器的信息的方法實現(xiàn)

    查看Docker容器的信息的方法實現(xiàn)

    對于運行在Docker環(huán)境的容器,有時我們想查詢它們的一些基本信息,本文主要介紹了查看Docker容器的信息的方法實現(xiàn),文中根據(jù)實例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Docker容器安裝Vim編輯器的方法

    Docker容器安裝Vim編輯器的方法

    Docker容器是一種輕量級、可移植的應(yīng)用程序打包解決方案,在本文中,我們將討論如何在Docker容器中安裝Vim編輯器,為容器增添一個功能強大的文本編輯器,感興趣的朋友跟隨小編一起看看吧
    2023-08-08
  • docker nginx + https 子域名配置詳細(xì)教程

    docker nginx + https 子域名配置詳細(xì)教程

    這篇文章主要介紹了docker nginx + https 子域名配置詳細(xì)教程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • Docker+Vscode搭建(本地/遠(yuǎn)程)開發(fā)環(huán)境

    Docker+Vscode搭建(本地/遠(yuǎn)程)開發(fā)環(huán)境

    本文介紹了使用Docker+VSCode搭建統(tǒng)一開發(fā)環(huán)境的完整方案,文中通過圖文示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-12-12
  • Docker匿名掛載和具名掛載的具體使用

    Docker匿名掛載和具名掛載的具體使用

    Docker的掛載是將容器內(nèi)的目錄和宿主機的目錄進(jìn)行綁定,本文主要介紹了Docker匿名掛載和具名掛載的具體使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Docker SSH連接docker容器的示例代碼

    Docker SSH連接docker容器的示例代碼

    這篇文章主要介紹了Docker SSH連接docker容器的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • Docker快速部署主流腳本語言JavaScript的全過程

    Docker快速部署主流腳本語言JavaScript的全過程

    JavaScript是目前所有主流瀏覽器上唯一支持的腳本語言,這也是早期JavaScript的唯一用途,下面這篇文章主要給大家介紹了關(guān)于Docker快速部署主流腳本語言JavaScript的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • docker-compose基于MySQL8部署項目的實現(xiàn)

    docker-compose基于MySQL8部署項目的實現(xiàn)

    這篇文章主要介紹了docker-compose基于MySQL8部署項目的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03

最新評論

兴业县| 钟祥市| 昌乐县| 长阳| 西贡区| 宜兴市| 拉孜县| 赣州市| 九龙坡区| 东乡县| 县级市| 会昌县| 乌恰县| 邯郸县| 探索| 三明市| 崇文区| 恩平市| 安达市| 剑川县| 沙雅县| 育儿| 高唐县| 岢岚县| 重庆市| 襄城县| 勐海县| 安顺市| 永清县| 河津市| 太康县| 黄石市| 邮箱| 蓬溪县| 康乐县| 顺昌县| 聂荣县| 亚东县| 全椒县| 日喀则市| 丹东市|