婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > docker中容器的網絡配置常用命令詳解

docker中容器的網絡配置常用命令詳解

熱門標簽:蘭州ai電銷機器人招商 新科美甲店地圖標注 高德地圖標注論壇 新邵電銷機器人企業 江西外呼系統 外呼系統打哪顯哪 北海市地圖標注app AI電銷機器人 源碼 湖北ai智能電銷機器人

網絡基礎配置

雖然Docker可以根據鏡像“多開”容器,并而每個容器互不影響,但并不代表容器與容器之間是完全決裂的。Docker在運行鏡像的時候提供了映射容器端口到宿主主機、容器端口到另一個容器的網絡互聯功能,使得容器與宿主主機、容器與容器之間可以相互通信。

### 從外部訪問容器應用

在啟動容器的時候,如果不指定對應的參數,在容器外是無法通過網絡來訪問容器內的網絡應用和服務的。當容器中運行一些需要被外部訪問的網絡應用時,可以通過-P或者-p參數來指定端口映射。當使用-P標記時,Docker會隨機映射一個49000~49900的端口至容器內部開放的網絡端口:

docker run -d -p [mirror ID or TAG]

使用-p (小寫)則可以指定要映射的端口,并且在一個指定端口上只可以綁定一個容器。支持的格式有ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort。

映射所有接口地址

使用hostPort:containerPort將本地的5000端口映射到容器的5000端口:

docker run -d -p 5000:5000 training/webapp python app.py

此時默認會綁定本地所有接口上的所有地址。多次使用-p標記可以綁定多個端口:

docker run -d -p 5000:5000 -p 3000:80 training/webapp python app.py

映射到指定地址的指定端口

可以使用ip:hostPort:containerPort格式指定映射使用一個特定地址,比如localhost地址127.0.0.1:

docker run -d -p 127.0.0.1:5000:5000 training/webapp python app.py

也可以是內部其它容器的IP地址。

映射到指定地址的任意端口

使用ip::containerPort綁定localhost的任意端口到容器5000端口,本地主機會自動分配一個端口:

docker run -d -p 127.0.0.1::5000 training/webapp python app.py

還可以使用udp標記來指定udp端口:

docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py

查看映射端口配置

使用docker port查看當前映射的端口配置,也可以查看到綁定的地址:

docker port nostalgic_morse 5000

容器有自己的內部網絡和IP地址(使用docker inspect+容器ID可以獲取所有的變量值)。

容器互聯實現容器間的互通信

容器的連接系統是除了端口映射外另一種可以與容器中應用進行交互的方式。它會在源和接收容器之間創建一個隧道,接收容器可以看到源容器指定的信息。

自定義容器命名

連接系統依據容器的名稱來執行。因此首先需要自定義一個好記的容器命名。

雖然當創建容器的時候,系統默認會分配一個名字,但自定義命名容器有兩個好處:

  • 自定義的命名比較好記
  • 當要連接其它容器時,可以作為一個有用的參數點,比如連接web容器到db容器。

使用--name標記可以為容器自定義命名:

docker run -d -p --name web training/webapp python app.py

使用docker ps可以查看命名,或者使用docker inspect來查看容器的名字:

docker inspect -f "{{name}}" [mirror ID]

容器的名稱是唯一的,如果已經命名了一個叫web的容器,必須先用docker rm命令來刪除這個容器,才能再以web這個名稱創建新容器。

容器互聯

使用--link參數可以讓容器之間安全地進行交互。

--link參數格式是--link name:alias,其中name是要鏈接容器的名稱,alias是這個連接的別名。

比如我們先創建一個新的數據庫容器:

docker run -d --name db training/postgres

然后再創建一個web容器,并將它連接到db容器:

docker run -d -p --name web --link db:db training/webapp python app.py

這個時候db容器就與web容器可以互相通信了。可以使用docker ps來查看容器的連接。

使用--link參數可以讓Docker在兩個容器之間通過一個安全的隧道互相通信,而不用通過開放端口的方式來實現,避免了把端口暴露到外部網絡上。

查看公開容器的接連信息

環境變量:使用env命令來查看容器的環境變量

docker run --name web --link db:db training/webapp env

/etc/hosts文件:使用link參數時,Docker會添加host信息到父容器的/etc/hosts的文件。下面是父容器web的hosts文件

docker run -t -i --link db:db training/webapp /bin/bash
root@aed84ee21bd3:/opt/webapp# cat /etc/hosts
127.17.0.7 aed84ee21bde
...
172.17.0.5 db

第一個是web容器的host信息,默認用自己的id為主機名。第二個是db容器的ip和主機名。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:池州 南陽 大理 阿克蘇 自貢 黃石 海南 黔東

巨人網絡通訊聲明:本文標題《docker中容器的網絡配置常用命令詳解》,本文關鍵詞  docker,中,容器,的,網絡,配置,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《docker中容器的網絡配置常用命令詳解》相關的同類信息!
  • 本頁收集關于docker中容器的網絡配置常用命令詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 乐都县| 灵武市| 盘山县| 邵阳县| 巴南区| 邓州市| 贞丰县| 嫩江县| 石柱| 玉山县| 凤台县| 曲靖市| 白山市| 绥宁县| 伊宁县| 历史| 杭锦旗| 思南县| 永昌县| 龙口市| 调兵山市| 清涧县| 宝应县| 东安县| 綦江县| 赞皇县| 策勒县| 荣昌县| 井冈山市| 澜沧| 金乡县| 房产| 文化| 锦屏县| 宜昌市| 连江县| 林芝县| 禄丰县| 息烽县| 民丰县| 普定县|