docker端口映射的实现示例
端口映射的作用
1 允许外部网络访问容器内的服务: 通过将容器内的服务绑定到宿主机上的端口,我们可以使得外部网络可以通过宿主机的 IP 地址和端口号来访问容器内的服务。这样,我们就可以将容器中的服务对外暴露,实现与容器交互或调用容器的功能。
2 解决端口冲突问题: 当我们在同一台主机上运行多个容器时,容器内的服务可能会监听相同的端口。通过端口映射,我们可以将这些容器内的服务绑定到不同的宿主机端口上,避免端口冲突
什么是docker的端口映射
Docker 端口映射允许我们将容器内部的服务绑定到宿主机上的一个或多个端口。通过端口映射,我们可以从外部网络访问容器内的服务
docker端口映射定义
Docker除了通过网络访问外,还提供了其他两个非常方便的功能来满足服务访问的基本需求:
一是允许映射容器内应用的服务端口到本地宿主机端口;
二是使用互联机制来实现多个容器间通过容器名来快速访问
端口映射可使用-p、-P来实现
-p指定要映射的端口,一个指定端口上只可以绑定一个容器
-P将容器内部开放的网络端口随机映射到宿主机的一个端口上
端口映射支持的格式:
ip:hostport:containerport #指定ip、指定宿主机port、指定容器port ip::containerport #指定ip、未指定宿主机port(随机)、指定容器port hostport:containerport #未指定ip、指定宿主机port、指定容器port
端口的映射有以下五种方法:
# 1 将容器暴露的所有端口,都随机映射到宿主机上。 (不推荐使用) docker run -P -it ubuntu /bin/bash # 2 将容器指定端口随机映射到宿主机一个端口上。 docker run -P 80 -it ubuntu /bin/bash 以上指令会将容器的80端口随机映射到宿主机的一个端口上。 # 3 将容器指定端口指定映射到宿主机的一个端口上。 例如: docker run -p 8000:80 -it ubuntu /bin/bash 以上指令会将容器的80端口映射到宿主机的8000端口上。 # 4 将容器ip和端口,随机映射到宿主机上 docker run -P 192.168.0.100::80 -it ubuntu /bin/bash 以上指令会将容器的ip192.168.0.100和80端口,随机映射到宿主机的一个端口上。 # 将容器ip和端口,指定映射到宿主机上 docker run -p 192.168.0.100:8000:80 -it ubuntu /bin/bash 上指令会将容器的ip192.168.0.100和80端口,映射到宿主机的8000端口
查看映射端口配置
docker port container_ID #容器ID #结果输出 80/tcp -> 0.0.0.0:800
到此这篇关于docker端口映射的实现示例的文章就介绍到这了,更多相关docker 端口映射内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Dockerfile中ENTRYPOINT 和 CMD的区别说明
这篇文章主要介绍了Dockerfile中ENTRYPOINT 和 CMD的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-11-11如何使用 docker compose 搭建 fastDFS文件服务器
这篇文章主要介绍了如何使用 docker compose 搭建 fastDFS文件服务器,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-10-10
最新评论