博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker网络 EXPOSE -P -p之间的区别与联系
阅读量:3788 次
发布时间:2019-05-22

本文共 790 字,大约阅读时间需要 2 分钟。

Docker网络

说明

1. 通过EXPOSE或者–expose暴露端口

在dockerfile 中通过EXPOSE暴露端口和在docker run --expose 暴露端口的作用是一样的,都是将端口暴露,但这个暴露的端口不依赖宿主机,默认情况下,我们无法通过这些端口访问宿主机,换句话说,也就是没有与宿主机的网络建立网络映射。

2. 通过-p发布特定端口

ip:hostPort:containerPort| ip::containerPort | hostPort:containerPort | containerPort

-p 指定发布特定端口的方式有四种,其发布的端口有两部分:

  • 暴露端口
  • 与宿主机网络建立映射
    也就是可以通过宿主机的网络访问到docker容器
docker run -p 3000 my_image

如果运行时,只指定containerPort, 则宿主机的端口会随意指定,这种方式的好处是,让宿主机自主分配未占用的端口,防止手动指定端口,绑定端口已经被占用的情况

3. -expose/EXPOSE和-p对比

-expose/EXPOSE只暴露端口,不与宿主机建立网络映射;

-p: 暴露端口并建立网络映射

4. -P和EXPOSE发布端口

因为EXPOSE通常只是作为记录机制,也就是告诉用户哪些端口会提供服务,Docker可以很容易地把Dockerfile里的EXPOSE指令转换成特定的端口绑定规则。只需要在运行时加上-P参数,Docker会自动为用户创建端口映射规则,并且帮助避免端口映射的冲突

操作指令

  1. 查看网路配置
docker inspect $container_id | $container_name
  1. 查看端口映射
    docker port exposed $container_id | $container_name

参考资料

转载地址:http://mfktn.baihongyu.com/

你可能感兴趣的文章
使用软链接放置数据集
查看>>
wx-charts折线统计图的实现(以每日体重展示为例)
查看>>
Windows消息:如何自定义窗口消息与线程消息
查看>>
Windows消息:怎样使用RegisterWindowMessage注册消息
查看>>
MultiSlider组件
查看>>
TransparentBitmap函数设置透明位图的原理分析
查看>>
透明位图的显示(TransparentBlt函数)
查看>>
关于CBitmap,LoadBitmap 的使用
查看>>
通用 Thunk
查看>>
Serial Communications in Win32
查看>>
STM32固件库详解
查看>>
IMediaEventEx 转帖
查看>>
Gamma校正
查看>>
Dll分配的内存块,应用释放的问题
查看>>
opencv中的BFMatcher和FlannBasedMatcher的区别
查看>>
opencv的KeyPoint
查看>>
Opencv中sift特征提取与匹配代码
查看>>
用Opencv实现RANSAC过滤关键点匹配对
查看>>
亮度、对比度、直方图均衡化
查看>>
Surf特征点检测与匹配
查看>>