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

Docker基礎(chǔ) :網(wǎng)絡(luò)配置詳解

 更新時間:2017年02月15日 09:23:16   作者:sparkdev  
本篇文章將講述 Docker 的網(wǎng)絡(luò)功能,包括使用端口映射機(jī)制來將容器內(nèi)應(yīng)用服務(wù)提供給外部網(wǎng)絡(luò),以及通過容器互聯(lián)系統(tǒng)讓多個容器之間進(jìn)行快捷的網(wǎng)絡(luò)通信,有興趣的可以了解下。

大量的互聯(lián)網(wǎng)應(yīng)用服務(wù)包含多個服務(wù)組件,這往往需要多個容器之間通過網(wǎng)絡(luò)通信進(jìn)行相互配合。Docker 目前提供了映射容器端口到宿主主機(jī)和容器互聯(lián)機(jī)制來為容器提供網(wǎng)絡(luò)服務(wù)。接下來我們將講述 Docker 的網(wǎng)絡(luò)功能,包括使用端口映射機(jī)制來將容器內(nèi)應(yīng)用服務(wù)提供給外部網(wǎng)絡(luò),以及通過容器互聯(lián)系統(tǒng)讓多個容器之間進(jìn)行快捷的網(wǎng)絡(luò)通信。

端口映射實現(xiàn)訪問容器

從外部訪問容器應(yīng)用

在啟動容器的時候,如果不指定對應(yīng)的參數(shù),在容器外部是無法通過網(wǎng)絡(luò)來訪問容器內(nèi)的網(wǎng)絡(luò)應(yīng)用和服務(wù)的。當(dāng)容器中運行了一些網(wǎng)絡(luò)應(yīng)用,要讓外部訪問這些應(yīng)用時,可以通過 -P 或 -p 參數(shù)來指定端口映射。當(dāng)使用 -P 參數(shù)時,Docker 會隨機(jī)選擇一個主機(jī)可用的端口映射至容器內(nèi)部開放的網(wǎng)絡(luò)端口:

$ docker run -d -P training/webapp python app.py

使用 docker ps 命令查看一下映射結(jié)果:

我這里主機(jī)的 32768 端口映射到了容器的 5000 端口。此時訪問主機(jī)的 32768 端口就可以訪問容器內(nèi) web 應(yīng)用提供的內(nèi)容。
-p (小寫)參數(shù)則可以指定要映射的主機(jī)端口。注意,在一個指定的主機(jī)端口上只能綁定一個容器。我們可以通過不同的參數(shù)格式映射主機(jī)和容器之間的端口:

Ip:hostPort:containerPort

Ip::containerPort

hostPort:containerPort

映射所有接口地址

使用 hostPort:containerPort 格式將本地的 5000 端口映射到容器的 5000 端口,可以執(zhí)行如下命令:

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

此時默認(rèn)會綁定本地所有接口上的所有地址(如果主機(jī)有多個 IP,那么每個 IP 的 5000 端口都映射到了容器的 5000 端口)。

多次使用 -p 參數(shù)可以綁定多個端口:

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

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

可以使用 ip:hostPort:containerPort 格式的參數(shù)指定映射使用一個特定地址,比如 localhost 地址 127.0.0.1:

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

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

使用 ip::containerPort 格式的參數(shù)可以綁定 localhost 的任意端口到容器的 5000 端口,本地主機(jī)會自動分配一個端口:

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

另外還可以使用 udp 標(biāo)記來指定 udp 端口:

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

查看映射端口配置

使用 docker port 命令可以查看當(dāng)前映射的端口配置,也可以查看到綁定的地址:

上圖中 mad_einstein 是容器的名字,32768 是容器的 5000 端口映射到主機(jī)上的端口。

容器互聯(lián)實現(xiàn)容器間通信

容器的連接(linking)系統(tǒng)是除了端口映射外另一種可以與容器中應(yīng)用進(jìn)行交互的方式。它會在源和接收容器之間創(chuàng)建一個隧道,接收容器可以看到源容器指定的信息。

自定義容器命名

連接系統(tǒng)依據(jù)容器的名稱來執(zhí)行。因此,首先需要自定義一個好記的容器名稱。雖然當(dāng)創(chuàng)建容器的時候,系統(tǒng)默認(rèn)會分配一個名字,但自定義命名容器有兩個好處:

1.    自定義的名稱比較好記。

2.    當(dāng)要連接其他容器的時候,可以作為一個有用的參考點,比如連接 web 容器到 db 容器。

使用 –name 標(biāo)記可以為容器自定義名稱:

$ sudo docker run -d -P –name web training/webapp python app.py

使用 docker ps 來驗證設(shè)定的名稱:

也可以使用 docker inspect 來查看容器的名稱:

注意,容器的名稱是唯一的。如果已經(jīng)命名了一個叫 web 的容器,當(dāng)你要再次使用 web 這個名稱的時候,需要先用 docker rm 來刪除之前創(chuàng)建的同名容器。在執(zhí)行 docker run 的時候如果添加 – rm 標(biāo)記,則容器在終止后會立刻刪除。但 – rm 和 -d 不能同時使用。

容器互聯(lián)

使用 –link 參數(shù)可以讓容器之間安全的進(jìn)行交互。

下面先創(chuàng)建一個新的數(shù)據(jù)庫容器:

$ sudo docker run -d –name db training/postgres

刪除之前創(chuàng)建的web容器:

$ sudo docker rm -f web

然后創(chuàng)建一個新的 web 容器,并將它連接到 db 容器:

$ sudo docker run -d -P –name web –link db:db training/webapp python app.py

此時,db 容器和 web 容器建立互聯(lián)關(guān)系。

--link 參數(shù)的格式為 –link name:alias,其中 name 是要連接的容器的名稱,alias 是這個連接的別名。

Docker 在兩個互聯(lián)的容器之間創(chuàng)建了一個安全隧道,而且不用映射它們的端口到宿主主機(jī)上。在啟動 db 容器的時候沒有使用 -p 和 -P 標(biāo)記,從而避免了暴露數(shù)據(jù)庫端口到外部網(wǎng)絡(luò)上。

Docker 通過兩種方式為容器公開連接信息:

1.    環(huán)境變量。

2.    更新 /etc/hosts文件。

使用 env 命令來查看 web 容器的環(huán)境變量:

$ sudo docker run –rm –name web2 –link db:db training/webapp python app.py env

其中 DB_ 開頭的環(huán)境變量是供 web 容器連接 db 容器使用的。

除了環(huán)境變量,Docker 還添加了 host 信息到容器的 /etc/hosts 文件中。下面查看web容器的 hosts 文件:

$ sudo docker run -t -I –rm –link db:db training/webapp /bin/bash

上圖中有兩個 host 信息,第一個是 db 容器的名稱 ip 和主機(jī)名。第二個是 web 容器,web 容器用自己的 id 作為默認(rèn)主機(jī)名。我們可以通過 ping 命令測試 web 容器到db容器的連接:

如圖所示,名稱 db 被解析成了 172.17.0.24。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Docker 教程之鏡像列出詳細(xì)介紹

    Docker 教程之鏡像列出詳細(xì)介紹

    這篇文章主要介紹了Docker 教程之鏡像列出詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • docker?ps容器未顯示的問題以及排查過程詳解

    docker?ps容器未顯示的問題以及排查過程詳解

    這篇文章主要給大家介紹了關(guān)于docker?ps容器未顯示的問題以及排查過程的相關(guān)資料,相信各位在使用docker容器的時候,經(jīng)常docker run -d后臺運行后,使用docker ps的時候發(fā)現(xiàn)這個容器顯示不到,這里給大家介紹下,需要的朋友可以參考下
    2023-09-09
  • 3分鐘帶你學(xué)會docker搭建帕魯服務(wù)器

    3分鐘帶你學(xué)會docker搭建帕魯服務(wù)器

    幻獸帕魯已經(jīng)正式開服,目前在線人數(shù)已經(jīng)超過7W+,很多玩家想自己創(chuàng)建服務(wù)器和朋友一起聯(lián)機(jī)游玩,本文主要介紹了3分鐘帶你學(xué)會docker搭建帕魯服務(wù)器,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • Docker 數(shù)據(jù)卷操作的實現(xiàn)

    Docker 數(shù)據(jù)卷操作的實現(xiàn)

    這篇文章主要介紹了Docker 數(shù)據(jù)卷操作的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 修改docker默認(rèn)存儲位置的兩種方法

    修改docker默認(rèn)存儲位置的兩種方法

    本文主要介紹了修改docker默認(rèn)存儲位置的兩種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • 安裝Docker配置阿里云鏡像加速(圖文教程)

    安裝Docker配置阿里云鏡像加速(圖文教程)

    dcker配置阿里云鏡像加速,其目的是為了在提高docker鏡像下載速度,本文主要介紹了安裝Docker配置阿里云鏡像加速,具有一定的參考價值,感興趣的可以了解一下
    2022-04-04
  • docker容器訪問GPU資源的使用指南

    docker容器訪問GPU資源的使用指南

    nvidia-docker 和 nvidia-container-runtime 是用于在 NVIDIA GPU 上運行 Docker 容器的兩個相關(guān)工具,它們的作用是提供 Docker 容器與 GPU 加速硬件的集成支持,本文給大家介紹了docker容器訪問GPU資源的使用指南,需要的朋友可以參考下
    2024-02-02
  • docker swarm 集群創(chuàng)建過程

    docker swarm 集群創(chuàng)建過程

    通過docker swarm 工具將一臺或者多臺安裝了docker的服務(wù)器組成一個完整的集群,該集群中的node節(jié)點可以通過Leader節(jié)點管理,這篇文章主要介紹了docker swarm 集群創(chuàng)建,需要的朋友可以參考下
    2024-03-03
  • docker 命令報異常permission denied的解決方案

    docker 命令報異常permission denied的解決方案

    這篇文章主要介紹了docker 命令報異常permission denied的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Docker如何修改容器已經(jīng)映射的端口

    Docker如何修改容器已經(jīng)映射的端口

    在項目中我們一般通過命令啟動一個容器的時候,通常會通過命令指定容器與物理機(jī)網(wǎng)絡(luò)端口的映射,這篇文章主要給大家介紹了關(guān)于Docker如何修改容器已經(jīng)映射的端口的相關(guān)資料,需要的朋友可以參考下
    2023-12-12

最新評論

宁武县| 罗城| 仙桃市| 蚌埠市| 寻甸| 辉县市| 右玉县| 嘉鱼县| 门源| 遂宁市| 阿克| 汾阳市| 绥滨县| 高要市| 合作市| 张家口市| 德阳市| 商洛市| 宣化县| 尚义县| 定州市| 山东| 沙河市| 永和县| 余庆县| 沙坪坝区| 旬邑县| 瓮安县| 益阳市| 鹰潭市| 洛南县| 淮北市| 廉江市| 彰武县| 修文县| 象山县| 永清县| 台前县| 涞水县| 鹰潭市| 蒙阴县|