docker容器需要访问主机的,不能使用127.0.0.1,127.0.0.1访问的是docker容器不是主机;
docker容器创建时会分配一个主机ip,可在主机使用命令 docker inspect 9f025896a9ec 查看容器的相关信息;其中的 "Gateway" 对应的ip地址,就是主机的ip地址,访问主机的服务应该使用这个地址来访问;
需要注意的是,主机开启了防火墙的,要把访问的端口打开,不然容器是无法访问主机的。

举个栗子:现在我在容器中安装了一个nginx,容器ID为9f025896a9ec,然后反向代理到主机的8080端口。

  1. 先在主机使用命令 docker inspect 9f025896a9ec 打印容器的信息,
    找到"Gateway"对应的为容器中对应主机的ip【这里假设为:172.1.0.1】,
    找到"IPAddress"对应的容器的ip【172.1.0.2】;
  2. 进入容器 docker exec -it 9f025896a9ec /bin/bash
  3. 在容器中配置nginx.conf,反向代理的地址设置为 http://172.1.0.1:8080
  4. 退出容器exit,在主机上重启容器中的nginx:docker restart 9f025896a9ec;
  5. 开放端口8080给容器 firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=172.1.0.2 port port=8080 protocol=tcp accept'
  6. 重载防火墙 firewall-cmd --reload;

关于docker容器访问的主机的端口问题的更多相关文章

  1. docker容器访问宿主机IP

    宿主机执行ifconfig 会看到docker0那个ip,可以使用来访问宿主机

  2. docker容器访问宿主机的IP——以rocketmq管理工具为例

    在宿主机(MacOS系统)上运行了原生的RocketMQ服务,为了方便管理,需要以Docker方式运行RocketMQ的管理工具——rocketmq-console (项目地址:https://git ...

  3. Docker容器的跨主机连接

    Docker容器的跨主机连接 Docker容器的跨主机连接 使用网桥实现跨主机容器连接 网络拓扑 网络连接使用的是Bridge 操作 修改/etc/network/interfaces文件,分配静态I ...

  4. Docker学习(15) Docker容器的跨主机连接

    Docker容器的跨主机连接 Docker使用网桥跨主机容器连接 Docker使用Open cSwitch实现跨主机容器连接 Docker使用weave实现跨主机容器连接

  5. 利用虚拟网桥实现Docker容器的跨主机访问

    最近在研究Docker,Docker的网络配置是比较令人头疼的部分,尤其是跨主机的容器间通信,很多解决方案都比较复杂,这里,我只用虚拟网桥来实现Docker的跨主机访问,分享出来,希望对Docker学 ...

  6. docker容器网络—单主机容器网络

    当我们在单台物理机或虚拟机中运行多个docker容器应用时,这些容器之间是如何进行通信的呢,或者外界是如何访问这些容器的? 这里就涉及了单机容器网络相关的知识.docker 安装后默认 情况下会在宿主 ...

  7. Docker容器绑定外部IP和端口

    Docker允许通过外部访问容器或者容器之间互联的方式来提供网络服务. 以下操作通过myfirstapp镜像模拟,如何制作myfirstapp镜像请点击此处. 1.外部访问容器容器启动之后,容器中可以 ...

  8. [转]解决Docker容器时间与主机不一致问题

    原文: https://blog.csdn.net/luckystar689/article/details/76572046 https://stackoverflow.com/questions/ ...

  9. Docker 容器的跨主机连接

    使用网桥实现跨主枳容器连接 不推荐 使用OpenvSwitch实现跨主机容器连接 OpenvSwitch: OpenvSwitch是一个高质量的.多层虚拟交换枳,使用开源Apache2.0许可协议,由 ...

随机推荐

  1. js模拟post提交表单

    function post(URL, PARAMS) {            var temp = document.createElement("form");         ...

  2. 皮皮家园干活~万元web前端系统班在线课程点击免费领取

    点击添加群聊 今天在整理百度云盘里的资源,这几年累计了不少软件和教程. 在这特殊的时期里,先给大家分享一波.图片里的文件夹就是目录, 加入群聊免费领取 好资源就是要大家一起共享, 你们也不用到处在网上 ...

  3. linux中关机重启命令

    shutdown 解释 关机重启命令 语法 shutdown [选项] 时间 -c 取消前一个关机命令 -h 关机 -r 重启 示例 # 现在立刻关机 shutdown -h now # 定时关机 s ...

  4. python3练习100题——002

    因为特殊原因,昨天没有做题.今天继续- 原题链接:http://www.runoob.com/python/python-exercise-example2.html 题目: 企业发放的奖金根据利润提 ...

  5. 发布开源项目到Jcenter

    前言 为了将阿里云短信开箱即用发布到Jcenter仓库,前前后后花费了1天半的时间,把端午节都搭进去了.终于今天收到了Jcenter的消息,自己发布的包被添加到了Jcenter仓库,也算给开源社区做了 ...

  6. C#面向对象详解

    //封装就是将数据或函数等集合在一个个的单元中,我们称之为类,被封装的对象通常被称为抽象数据类型, //封装的意义在于保护或防止代码被我们无意中破坏, //封装既可以封装成员变量,又可以封装成员方法, ...

  7. 【python基础语法】数据类型:数值、字符串 (第2天课堂笔记)

    """ 数据类型: 一.数值类型:整数 浮点数 布尔值 二.序列类型:字符串.列表 元祖 三.散列类型:字典 集合 可变数据类型: 列表 字典 集合,可以改动内存地址数据 ...

  8. Vue中vue-i18n结合vant-ui实现国际化

    (一)添加依赖模块 在package.json文件中添加vant模块的依赖,如: // package.json { "dependencies": { "vant&qu ...

  9. B-S 期权定价模型

    Black-Scholes 期权定价模型概述 1997年10月10日,第二十九届诺贝尔经济学奖授予了两位美国学者,哈佛商学院教授罗伯特·默顿(RoBert Merton)和斯坦福大学教授迈伦·斯克尔斯 ...

  10. 输出redis cluster集群所有节点指定的参数的配置

    需要:实现类似redis-trib.rb call 命令的功能,输出redis cluster集群所有节点指定的参数的配置 redis-trib.rb的输出 [redis@lxd-vm3 ~]$ re ...