关于docker容器访问的主机的端口问题
docker容器需要访问主机的,不能使用127.0.0.1,127.0.0.1访问的是docker容器不是主机;
docker容器创建时会分配一个主机ip,可在主机使用命令 docker inspect 9f025896a9ec 查看容器的相关信息;其中的 "Gateway" 对应的ip地址,就是主机的ip地址,访问主机的服务应该使用这个地址来访问;
需要注意的是,主机开启了防火墙的,要把访问的端口打开,不然容器是无法访问主机的。
举个栗子:现在我在容器中安装了一个nginx,容器ID为9f025896a9ec,然后反向代理到主机的8080端口。
- 先在主机使用命令
docker inspect 9f025896a9ec打印容器的信息,
找到"Gateway"对应的为容器中对应主机的ip【这里假设为:172.1.0.1】,
找到"IPAddress"对应的容器的ip【172.1.0.2】; - 进入容器
docker exec -it 9f025896a9ec /bin/bash; - 在容器中配置nginx.conf,反向代理的地址设置为 http://172.1.0.1:8080;
- 退出容器exit,在主机上重启容器中的nginx:
docker restart 9f025896a9ec; - 开放端口8080给容器
firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=172.1.0.2 port port=8080 protocol=tcp accept' - 重载防火墙
firewall-cmd --reload;
关于docker容器访问的主机的端口问题的更多相关文章
- docker容器访问宿主机IP
宿主机执行ifconfig 会看到docker0那个ip,可以使用来访问宿主机
- docker容器访问宿主机的IP——以rocketmq管理工具为例
在宿主机(MacOS系统)上运行了原生的RocketMQ服务,为了方便管理,需要以Docker方式运行RocketMQ的管理工具——rocketmq-console (项目地址:https://git ...
- Docker容器的跨主机连接
Docker容器的跨主机连接 Docker容器的跨主机连接 使用网桥实现跨主机容器连接 网络拓扑 网络连接使用的是Bridge 操作 修改/etc/network/interfaces文件,分配静态I ...
- Docker学习(15) Docker容器的跨主机连接
Docker容器的跨主机连接 Docker使用网桥跨主机容器连接 Docker使用Open cSwitch实现跨主机容器连接 Docker使用weave实现跨主机容器连接
- 利用虚拟网桥实现Docker容器的跨主机访问
最近在研究Docker,Docker的网络配置是比较令人头疼的部分,尤其是跨主机的容器间通信,很多解决方案都比较复杂,这里,我只用虚拟网桥来实现Docker的跨主机访问,分享出来,希望对Docker学 ...
- docker容器网络—单主机容器网络
当我们在单台物理机或虚拟机中运行多个docker容器应用时,这些容器之间是如何进行通信的呢,或者外界是如何访问这些容器的? 这里就涉及了单机容器网络相关的知识.docker 安装后默认 情况下会在宿主 ...
- Docker容器绑定外部IP和端口
Docker允许通过外部访问容器或者容器之间互联的方式来提供网络服务. 以下操作通过myfirstapp镜像模拟,如何制作myfirstapp镜像请点击此处. 1.外部访问容器容器启动之后,容器中可以 ...
- [转]解决Docker容器时间与主机不一致问题
原文: https://blog.csdn.net/luckystar689/article/details/76572046 https://stackoverflow.com/questions/ ...
- Docker 容器的跨主机连接
使用网桥实现跨主枳容器连接 不推荐 使用OpenvSwitch实现跨主机容器连接 OpenvSwitch: OpenvSwitch是一个高质量的.多层虚拟交换枳,使用开源Apache2.0许可协议,由 ...
随机推荐
- Linux高级系统恢复技术
一,MBR毁坏: 查看系统分区在那: 毁坏MBR: 如果没有重启动,可以直接恢复: 如果重启之后就不可启动系统,需要恢复系统: 出现这样的情况: force off关机,使用光盘启动,添加一个镜像光盘 ...
- [Linux]LVM扩展卷
LVM LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活 ...
- 2019IT运维大会上海站 智和信通解析等保2.0支撑
2019IT运维大会上海站 智和信通解析等保2.0支撑 2019年11月14日上午8:30-12:10,上海锦荣国际大酒店二层锦荣厅
- java 循环变量
方法:是一段完成特定功能代码的片段. 格式: [修饰符1 修饰符2 ......]返回值类型 方法名(形式参数列表){ java语句;....... } 形式参数:在方法被调用时用于接收外界输入的数据 ...
- 如何用Java8 Stream API找到心仪的女朋友
传统的的Java 集合操作是有些啰嗦的,当我们需要对结合元素进行过滤,排序等操作的时候,通常需要写好几行代码以及定义临时变量. 而Java8 Stream API 可以极大简化这一操作,代码行数少,且 ...
- OpenLayers动态测量距离和面积,并可自定义测量的线样式
全局操作变量 /** * @description 标注弹出框 */ HtmlPopup = null; /** * @description 临时图层类数据源 */ VectorSource = n ...
- Hadoop-HDFS(HDFS-HA)
HDFS(Hadoop Distributed File System) 分布式文件系统,HDFS是一个高度容错性的系统,适合部署在廉价的机器上.HDFS能提供高吞吐量的数据访问,非常适合大规模数据集 ...
- Windows Server 2012 R2的安装(GUI桌面版本)
镜像:cn_windows_server_2012_r2_x64_dvd_2707961.iso 1.将安装光盘插入服务器,开机会读取到Windows安装程序,点击下一步 2.点击现在安装 3 ...
- LINUX下EFIBOOTMGR的使用,删除UEFI主板多余启动项和添加启动项
用uefi装了几次次archlinux,搞的uefi启动选项下多出来好多启动项..这东西重格硬盘也是不好用的.发现以下方法可以解决. efibootmgr //显示efi的启动项 删除一个引导项 ...
- JAVA JDBC 连接数据库
方式一 Driver driver = new com.mysql.jdbc.Driver(); String url = "jdbc:mysql://localhost:3306/test ...