在前面的文章中,已经提到了端口的映射操作,就是 docker run 命令里面就有开端口的操作!
但是在这里,在单独提取出来另开一篇文章!
我们的一些web应用部署到docker里面后,如果不针对docker里面的容器做一个端口映射,外部环境是无法访问到docker里面的资源的!
1.从外部环境访问容器
在执行 docker run 命令的时候,就需要指定一个端口
关键参数:
-p 可以指定一个端口映射
-P 可以随机分配一个端口进行映射
例子:
// 表示吧本地4322端口映射到容器的4322端口
docker run -d -p 4322:4322 nginx
如果一个容器希望映射多个端口
// 此时会映射两个端口到nginx上
docker run -d -p 4322:4322 -p 4320:4320 nginx
如果想批量映射端口,指定一个端口的范围
// 指定端口映射范围
docker run -d -p 4000-4322:4000-4322 nginx
注意:映射的端口默认是对本地所有的地址进行映射,
也就是 localhost:4322 或者 127.0.0.1:4322 都可以访问到这个nginx
2.指定地址进行端口映射
在有些情况下,我们只希望 127.0.0.1这个地址才能访问到这个端口,不希望localhost方式访问到
docker run -d -p 127.0.0.1:4322:4322 nginx
此时就只有 127.0.0.1:4322 才可以访问到这个nginx,localhost:4322则访问不到
还可以使用udp标记来指定 udp端口:
docker run -d -p 127.0.0.1:4322:4322/udp nginx
3.查看端口的映射
docker port {容器名称 | 容器ID}
例子:
// 查看nginx的端口映射
docker port nginx








网友评论