首页 > 运维 > Docker > 正文

docker为什么要端口映射

WBOY
发布: 2022-08-23 17:52:37
原创
4220 人浏览过

因为docker容器在运行的时候,如果不指定端口映射参数,在容器外部是无法通过网络来访问容器内的网络应用的服务的,所以需要进行docker端口映射的设置;docker通过端口绑定主机系统的接口,允许非本地客户端访问容器内部运行的服务。

docker为什么要端口映射

本教程操作环境:linux7.3系统、docker19.03版、Dell G3电脑。

docker为什么要端口映射

doker是一个开源的应用容器引擎,说简单一点就是可以打包程序和运行环境,把环境和程序一起发布的容器。当你需要发布程序时,你可以使用doker将运行环境一起发布,其他人拿到你的程序后,可以直接运行,避免出现一次编译到处调试的尴尬局面。

说的再直白一点,doker的出现主要是为了解决,在我的机器上是正常的,为什么到你的机器上就不正常了的问题。Docker容器有运行、已暂停、重新启动、已退出四种状态。

为什么要进行doker端口映射?

docker容器在运行的时候,如果不指定端口映射参数(不配置宿主机器与虚拟机的端口映射),在容器外部是无法通过网络来访问容器内的网络应用和服务的(外部程序是无法访问虚拟机的,因为没有端口)。为了解决这个问题,就需要进行doker端口映射的设置。

docker通过端口绑定主机系统的接口,允许非本地客户端访问容器内部运行的服务。为了简便的使得容器间通信,docker提供了这种连接机制。

docker的两种种常见的端口映射方式

自动映射端口

  -P使用时需要指定--expose选项,指定需要对外提供服务的端口
  $ sudo docker run -t -P --expose 22 --name server ubuntu:14.04
登录后复制

  使用docker run -P自动绑定所有对外提供服务的容器端口,映射的端口将会从没有使用的端口池中(49000..49900)自动选择,你可以通过docker ps,docker inspect 或者docker port 确定具体的绑定信息。

绑定端口到指定接口

  基本语法

  $ sudo docker run -p [([:[host_port]])|():] [/ udp]
登录后复制

  默认不指定绑定ip则监听所有网络接口。

推荐学习:《docker视频教程

以上是docker为什么要端口映射的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板