十、Docker容器端口映射

作者: 温新

分类: 【Docker】

阅读: 2266

时间: 2020-08-15 13:29:23

端口映射
从外部访问容器应用

启动容器,若不指定参数,则容器外部无法通过网络来访问容器内部网络应用与服务。

参数为-P(大写)时,Docker随机映射一个49000~49900端口到内部容器开放的网络端口。

<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(98, 151, 85) !important"># 启动容器并随机分配端口</span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px">docker run <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">-d</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">-P</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">--name</span> nginx01 nginx:1.17.4</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box"></span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(98, 151, 85) !important"># 查看</span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px">docker <span style="box-sizing: border-box;color: rgb(232, 191, 106) !important">ps</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">-a</span></span>
映射所有接口地址

使用HostPort:ContainerPort格式本地的5000端口映射到容器的5000端口

<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"> <span style="box-sizing: border-box;color: rgb(98, 151, 85) !important"># 此映射出现无法访问的情况</span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"> docker run <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">-d</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">-p</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">5000</span>:5000 <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">--name</span> nginx02 nginx:1.17.4</span>
映射到指定端口
<span style="color: rgb(247, 150, 70);">docker run -d -p 127.0.0.1:5003:5003 --name nginx04 nginx:1.17.4</span><br></br>

容器互联

什么是容器互联?容器互联是一种让多个容器中的应用进行快速交互的方式。

容器互联使用--link参数进行容器间的互联。

--link参数格式为

<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">--link</span> name:alias</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box"></span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px">name 为要链接容器的名称</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px">alias 为别名</span>

例如:php容器与mysql容器互联

<span style="color: rgb(247, 150, 70);">docker run -d --name lnmp_php --link lnmp_mysql:mysql -v /home/www:/usr/share/nginx/html php-fmp</span><br></br>

我是夕阳何处寻,期待和优秀的你一起同行!

夕阳何处寻

2020年08月15日

请登录后再评论