• 技术文章 >运维 >Docker

    docker为什么要端口映射

    WBOYWBOY2022-08-23 17:52:37原创1389

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

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

    本教程操作环境: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中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:Docker
    上一篇:docker是基于什么的引擎 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• docker里能部署应用吗• docker容器有ip吗• docker访问不了外网怎么办• docker怎么解决crontab不生效• docker中的网络模式是什么意思
    1/1

    PHP中文网