1. 程式人生 > >Docker第六篇-Docker埠對映

Docker第六篇-Docker埠對映

文章目錄

宿主機訪問容器

宿主機隨機埠對映容器所有埠

-P,宿主機會隨機指定埠來對映nginx容器內的所有埠

docker run -tid -P nginx /bin/bash

宿主機隨機埠對映容器指定埠

-p containerPort,宿主機會隨機指定埠來對映nginx容器內的80埠

docker run -tid -p 80 nginx /bin/bash

宿主機指定埠對映容器指定埠(常用)

-p hostPort:containerPort,宿主機指定8080埠來對映nginx容器內的80埠

docker run -tid -p 8080:80 nginx /bin/bash

宿主機隨機埠對映容器指定IP、指定埠

-p containerIp::containerPort,宿主機隨機埠對映指定IP(172.0.0.11)、指定埠80的nginx容器

docker run -tid -p 172.0.0.11::80 nginx /bin/bash

宿主機指定埠對映容器指定IP、指定埠

-p containerIp:hostPort:containerPort,宿主機指定埠8080對映指定IP(172.0.0.11)、指定埠80的nginx容器

docker run -tid -p 172.0.0.11:8080:80 nginx /bin/bash

容器訪問容器

  • 新建網路

    docker network create -d bridge my-net
    

    -d引數指定docker網路型別,有bridge、overlay。bridge是橋接型別,常用,overlay網路型別適用於Swarm mode模式。my-net為自定義的網路名稱。

  • 連線容器
    執行兩個容器,並連線到建立好的網路my-net

docker run -tid --rm -p 127.0.0.1:80:80 --name nginx1 --network my-net nginx
docker run -tid --rm -p 127.0.0.1:8080:8080 --name nginx2 --network my-net nginx

進入任意一臺容器,ping對方的IP

檢視容器埠

命令:

docker port [容器ID]  #檢視指定容器的所有埠對映
docker port [容器ID] 80  #檢視指定容器的80埠對映