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

Docker容器綁定外部IP和端口的方法

 更新時(shí)間:2018年12月04日 10:35:02   作者:Ruthless  
Docker允許通過外部訪問容器或者容器之間互聯(lián)的方式來(lái)提供網(wǎng)絡(luò)服務(wù)。這篇文章主要介紹了Docker容器綁定外部IP和端口的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧

Docker允許通過外部訪問容器或者容器之間互聯(lián)的方式來(lái)提供網(wǎng)絡(luò)服務(wù)。

以下操作通過myfirstapp鏡像模擬,如何制作myfirstapp鏡像請(qǐng)點(diǎn)擊此處。

1、外部訪問容器

容器啟動(dòng)之后,容器中可以運(yùn)行一些網(wǎng)絡(luò)應(yīng)用,通過-p或-P參數(shù)來(lái)指定端口映射。

a、用-P(大寫)標(biāo)記時(shí),docker會(huì)隨機(jī)選擇一個(gè)端口映射到容器內(nèi)部開放的網(wǎng)絡(luò)端口上。

$ docker run -d -P myfirstapp python app.py 
$ docker ps
CONTAINER ID IMAGE    COMMAND CREATED   STATUS              PORTS       NAMES
dbcf5d3290ba myfirstapp "python app.py"   4 seconds ago Up 4 seconds 0.0.0.0:32770->80/tcp  quizzical_engelbart 

此時(shí)訪問本機(jī)的32770端口就可以訪問到容器內(nèi)web應(yīng)用提供的界面。

$ curl http://192.168.1.160:32770/
<h3>Hello HELLO!</h3><b>Hostname:</b> dbcf5d3290ba<br/><b>Visits:</b> <i>cannot connect to Redis, counter disabled</i>

也可以使用docker logs來(lái)查看應(yīng)用的信息

$ docker logs dbcf5d3290ba
* Running on http://0.0.0.0:80/ (Press CTRL+C to quit)
192.168.1.5 - - [29/Mar/2018 06:17:34] "GET / HTTP/1.1" 200 -
192.168.1.5 - - [29/Mar/2018 06:17:34] "GET /favicon.ico HTTP/1.1" 404 -
192.168.1.160 - - [29/Mar/2018 06:17:43] "GET / HTTP/1.1" 200 -
192.168.1.5 - - [29/Mar/2018 06:18:59] "GET / HTTP/1.1" 200 -

b、使用-p(小寫)標(biāo)記時(shí)則可以指定要映射的端口,并且在一個(gè)指定端口上只可以綁定一個(gè)容器,支持的格式有:

ip:hostport:containerport 
ip::containerport 
hostport:containerport

$ docker run -d -p 4000:80 myfirstapp python app.py
$ docker run -d -p 4001:80 myfirstapp python app.py
$ curl http://192.168.1.160:4000/
Hello HELLO!Hostname: f43ed2810353
Visits:cannot connect to Redis, counter disabled
$ curl http://192.168.1.160:4001/
Hello HELLO! Hostname:f43ed2810353
Visits:cannot connect to Redis, counter disabled

可以看到本地4000端口已經(jīng)被映射,換一個(gè)端口4001也被映射。

docker默認(rèn)會(huì)映射本地所有的地址?,F(xiàn)在我們來(lái)嘗試一下映射到指定地址的指定端口

$ docker run -d -p 127.0.0.1:4000:80 myfirstapp python app.py
$ curl http://127.0.0.1:4000/ ##訪問通過
$ curl http://localhost:4000/ ##訪問通過
$ curl http://192.168.1.160:4000/ ##訪問拒絕
curl: (7) Failed connect to 192.168.1.160:4000; 拒絕連接

然后要訪問容器中的應(yīng)用只能通過127.0.0.1這個(gè)ip訪問。

接下來(lái)是綁定本機(jī)的任意端口到容器的80端口,隨機(jī)分配一個(gè)端口

$ docker run -d -p 127.0.0.1::80 myfirstapp python app.py
$ docker ps ##127.0.0.1:32770->80/tcp
$ curl http://127.0.0.1:32770/ ##訪問通過
$ curl http://localhost:32770/ ##訪問通過
$ curl http://192.168.1.160:32770/ ##訪問拒絕 

還可以指定通信協(xié)議

docker run -d -p 5003:80/udp myfirstapp python app.py

2.查看容器綁定和映射的端口及Ip地址

$ docker port 44de1b0b5312(容器ID)
80/tcp -> 127.0.0.1:32770

3.注意事項(xiàng)

a.docker inspect查看容器自己的內(nèi)部網(wǎng)絡(luò)和ip地址

$ docker inspect 44de1b0b5312(容器ID)

b.容器啟動(dòng)綁定多IP

$ docker run -d -p 5005:5000 -p 5006:80 myfirstapp python app.py #容器ID:44e703c1279a
$ docker port 44e703c1279a
5000/tcp -> 0.0.0.0:5005
80/tcp -> 0.0.0.0:5006

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

相關(guān)文章

  • Docker多個(gè)容器不能有相同端口號(hào)的處理方案

    Docker多個(gè)容器不能有相同端口號(hào)的處理方案

    這篇文章主要介紹了Docker多個(gè)容器不能有相同端口號(hào)的處理方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2021-03-03
  • docker容器狀態(tài)的轉(zhuǎn)換實(shí)現(xiàn)

    docker容器狀態(tài)的轉(zhuǎn)換實(shí)現(xiàn)

    這篇文章主要介紹了docker容器狀態(tài)的轉(zhuǎn)換實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2020-11-11
  • Docker 手動(dòng)配置容器網(wǎng)絡(luò)實(shí)例詳解

    Docker 手動(dòng)配置容器網(wǎng)絡(luò)實(shí)例詳解

    這篇文章主要介紹了Docker 手動(dòng)配置容器網(wǎng)絡(luò)實(shí)例詳解的相關(guān)資料,這里有具體實(shí)現(xiàn),需要的朋友可以參考下
    2016-11-11
  • docker如何快速搭建幾個(gè)常用的第三方服務(wù)詳解

    docker如何快速搭建幾個(gè)常用的第三方服務(wù)詳解

    這篇文章主要給大家介紹了關(guān)于利用docker如何快速搭建幾個(gè)常用的第三方服務(wù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • docker配置daemon.json鏡像加速文件方式

    docker配置daemon.json鏡像加速文件方式

    這篇文章主要介紹了docker配置daemon.json鏡像加速文件方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 一文帶大家了解和使用Docker鏡像倉(cāng)庫(kù)

    一文帶大家了解和使用Docker鏡像倉(cāng)庫(kù)

    本文主要介紹一下容器鏡像倉(cāng)庫(kù)的使用,包括公有倉(cāng)庫(kù)和自己搭建的私有倉(cāng)庫(kù),文中有詳細(xì)的代碼示例,以及圖解,對(duì)我們了解和使用 Docker 鏡像倉(cāng)庫(kù)有一定的幫助,需要的朋友可以參考下
    2023-06-06
  • Docker如何安裝Oracle 19c

    Docker如何安裝Oracle 19c

    這篇文章主要介紹了Docker如何安裝Oracle 19c問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Linux下Docker CE使用從包中安裝的方式詳解

    Linux下Docker CE使用從包中安裝的方式詳解

    這篇文章主要為大家詳細(xì)介紹了Linux下Docker CE使用從包中安裝的方式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Docker基于macvlan實(shí)現(xiàn)跨主機(jī)容器通信

    Docker基于macvlan實(shí)現(xiàn)跨主機(jī)容器通信

    這篇文章主要介紹了Docker基于macvlan實(shí)現(xiàn)跨主機(jī)容器通信,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 解析docker妙用SpringBoot構(gòu)建微服務(wù)實(shí)戰(zhàn)記錄

    解析docker妙用SpringBoot構(gòu)建微服務(wù)實(shí)戰(zhàn)記錄

    Spring Boot 是 Spring 開源組織的子項(xiàng)目,是 Spring 組件一站式解決方案,本文通過詳細(xì)案例給大家解析docker妙用SpringBoot構(gòu)建微服務(wù)實(shí)戰(zhàn)記錄,感興趣的朋友跟隨小編一起看看吧
    2021-11-11

最新評(píng)論

南木林县| 贡觉县| 义乌市| 德令哈市| 金门县| 且末县| 驻马店市| 即墨市| 彭泽县| 石景山区| 丰镇市| 灵台县| 通城县| 多伦县| 吉木乃县| 桐乡市| 九江市| 进贤县| 类乌齐县| 三都| 都昌县| 佛坪县| 澄城县| 墨竹工卡县| 恩平市| 左权县| 南靖县| 长春市| 五台县| 昌邑市| 永寿县| 大竹县| 惠水县| 桦南县| 天祝| 轮台县| 赤水市| 马龙县| 团风县| 新泰市| 平邑县|