Docker端口映射实现网络访问

Docker端口映射实现网络访问

首先,大家如果看到有什么不懂的地方,欢迎吐槽!!!
我会在当天或者第二天及时回复,并且改进~~



Docker运行容器之后却发现没IP,没端口,那要如何访问容器呢?
下面我来介绍下Docker通过端口映射来实现网络访问

一、从外部访问容器应用

在启动容器的时候,如果不指定对应参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的。
当容器中运行一些网络应用,要让外部访问这些应用时,可以通过-P或-p参数指定端口映射。
先来说说p和P吧

  • -p 可以指定要映射的端口,并且,在一个指定端口上只可以绑定一个容器
  • -P 它会随机映射一个端口至容器内部开放的网络端口(范围不详,似乎都上万)


先申明一下,我这边
client ip address 为192.168.0.225
registry ip address 为192.168.0.216:5000

docker run -d -it --name nginx -P 192.168.0.216:5000/nginx
docker ps -a            #查看容器是否在运行
docker logs nginx       #查看nginx容器的log

端口映射支持的格式有:

ip:hostport:containerport   #指定ip、指定主机port、指定容器port
ip::containerport           #指定ip、未指定主机port、指定容器port
hostport:container          #未指定ip port、指定主机port、指定容器port     

二、映射所有接口ip

下列命令查看到0.0.0.0监听5000端口
docker run -d -it -p 5000:5000 --name registry 192.168.0.216:5000/registry
docker ps -a | grep 5000     

多次使用-p标记可以绑定多个端口
docker run -d -it -p 800:80 -p 8088:8080 --name tomcat 192.168.0.216:5000/tomcat
docker ps -a | egrep "(80|8080)"

三、映射到指定地址的指定端口

将容器的80 port映射到192.168.0.225:800
docker run -d -it -p 192.168.0.225:800:80 --name web_server 192.168.0.216:5000/nginx
curl 192.168.0.225:800     #验证是否可以访问默认首页

四、映射到指定地址的udp端口

这里且不说能不能访问,只是一种映射方式。大家别见怪
docker run -d -it -p 192.168.0.225:300:3000/udp --name unknown 192.168.0.216:5000/nginx
netstat -anpu |grep udp
udp    0    0    192.168.0.225:300    0.0.0.0:*     24588/docker-proxy

五、查看映射端口配置

通过docker port container_ID 可以查看到容器映射了哪些端口及协议
[root@docker ~]#docker port tomcat
8080/tcp -> 192.168.0.225:32769
[root@docker ~]#docker port unknown
3000/udp -> 192.168.0.225:300
时间: 2024-09-19 01:50:34

Docker端口映射实现网络访问的相关文章

Docker 端口映射详细介绍_docker

Docker 端口映射:          最近抽空,把Docker 端口映射的资料整理了一下,以便后续项目应用,大家也可以参考下.   # Find IP address of container with ID <container_id> 通过容器 id 获取 ip $ sudo docker inspect <container_id> | grep IPAddress | cut -d '"' -f 4 无论如何,这些 ip 是基于本地系统的并且容器的端口非本地

tplink路由器端口映射和远程WEB管理的注意事项

路由器上设置端口映射和远程WEB管理后,需要在Internet上访问路由器或服务器,那么就访问的目的IP地址和端口需要有以下注意事项. 一.关于对外开放的端口 服务商屏蔽 大部分宽带线路都屏蔽了80端口的访问,也就是运营商直接不允许http的访问进入,如果您对外开放的端口为80,则无法访问.如果访问不成功,可以尝试修改管理端口为9000或以上,如9090.9900.10800等(端口映射则是修改外部端口/服务端口为9000以上的端口). 端口扫描攻击 远端WEB管理.WEB服务器.硬盘录像机等很

DuplexPipe二三事(三)——网络中转站:端口映射

端口映射 在<DuplexPipe二三事(二)>中介绍了瑞士军刀 nc 的用法:nc 就像给程序一张飞机票,让原本只能在本地执行的程序也能运行在网络上!但网络和现实交通一样,很多地方需要中转才能到达(比如外网计算机无法直接访问公司内部 Web 服务器). 为实现公网对内部网络的访问,需要对数据进行转发(即端口映射).比如内网"主机A"开启了 Web(port 80)服务,需要在"服务器的网关"上设置:凡来自 Internet 上对 80 端口的请求,全部

docker 动态映射运行的container端口实例详解_docker

docker动态映射运行的container端口,最近做项目,对于docker动态映射运行的container端口的资料有必要记录下,以便以后在用到, Docker自带了EXPOSE命令,可以通过编写dockerfile加-p参数方便的映射Container内部端口,但是对于已经运行的container,如果你想对外开放一个新的端口,只能编辑dockerfile然后重新build,有点不太方便. 其实docker本身使用了iptables来做端口映射的,所以我们可以通过一些简单的操作来实现动态映

详解VirtualBox虚拟机网络环境解析和搭建-NAT、桥接、Host-Only、Internal、端口映射_VirtualBox

由于前几天老师要检查大作业,而我们的数据库是放在虚拟机里的(不想在本机里放太多东西,保持轻便快速...),平时是用的桥接模式,但是考虑到可能教室里不好上网(图书馆底下信号比较差...),所以就试了试断网情况,却发现无法连接到数据库,因此专门找了资料学习了一下虚拟机的网络环境,网上信息比较杂,粘贴党太多,害苦了我,因此写这篇文章供大家参考,也供自己以后参考.全是经过测试的,绝非粘贴. 本文以VirtualBox为例 如果出现主机无法ping通虚拟机的情况,请首先确认虚拟机防火墙已关闭. 一.NAT

外网访问内网-端口映射,内网ip映射

问题描述 端口映射,内网ip映射 广域网访问局域网的服务器最便捷的办法,除了用花生壳外,还有什么办法? 如果用路由器设置,什么品牌的可以? 解决方案 一般的路由器都有这样的设置的把, 把内网某个内网ip映射到指定的端口 解决方案二: 首先纠正你一点,外网访问内网,花生壳根本办不到.花生壳是ddns,仅仅解决了一个动态ip的自动维护它的dns指向的功能. 外网访问内网的前提是,你的内网通过路由器连接到公网上,这个公网有公网ip,你对路由器有控制能力.你只要做端口映射就可以访问到了.任何品牌基本都可

mac os x-无法访问部署在mac服务器到虚拟机Ubuntu端口映射做成的服务器上的网站

问题描述 无法访问部署在mac服务器到虚拟机Ubuntu端口映射做成的服务器上的网站 各位朋友们好,有一个问题恳请部署网站的大侠们能指点我一下:我之前有一台阿里云服务器是Ubuntu系统的,买了公网ip(113.19.3.34)和域名(www.appoperation.com),我把自己的网站部署上去时,是在Ubuntu系统的/etc/hosts文件中加上以下一行:113.19.3.34 www.appoperation.com 但是由于老师的要求,希望现在把这个网站部署到一台mac os x系

通过ssh端口映射 间接访问远程内网服务器

 代码如下 复制代码 现在有两台服务器,SERVER A 可通过外网访问,SERVER B (linux/mac/windows)通过局域网与A连接,由于种种原因(防火墙啊.外网限制啊),我们(client)无法直接登录B 或 访问B上的业务系统.    代码如下 复制代码 那么问题来了,怎样才能通过 A 来访问 B ?     SSH 是一个很好的工具,我们可以通过 SSH 的本地端口映射功能,将远程 B 的端口,映射至本地端口,来实现通过 A 间接访问 B .   具体命令: 具体命令: s

组网经验:端口映射的几种实现方法

采用端口映射(Port Mapping)的方法,可以实现从Internet到局域网内部机器的特定端口服务的访问.笔者总结了在教学与组网实践中采用的几种端口映射方法,在此与大家交流探讨. 利用IIS实现WWW和FTP服务的重定向 Windows 2000和Windows XP都包含了IIS组件,其中的WWW和FTP服务具有主目录重定向设置,与端口映射相比,虽名称不同但作用类似.本文以Windows 2000下IIS 5.0的WWW和FTP服务举例说明. 1.WWW服务的重定向 打开管理工具中的In