docker为什么要端口映射

网友投稿 1685 2022-10-07

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

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视频教程》

php入门到就业线上直播课:查看学习

上一篇:运维排查篇 | 服务器产生大量的TIME_WAIT的原因你知道吗?
下一篇:docker是基于什么的引擎
相关文章

 发表评论

暂时没有评论,来抢沙发吧~