docker内部如何访问宿主机上的服务或者应用

这篇具有很好参考价值的文章主要介绍了docker内部如何访问宿主机上的服务或者应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景

在docker启动的容器中需要访问宿主机上的服务,所以在容器中通过localhost或者127.0.0.1 。但是这样是不行的。
访问url:http://127.0.0.1:8088 或者http://localhost:8088

原因

docker是一个虚拟环境,127.0.0.1和localhost指的是虚拟环境内部,而不是外部宿主机,所以无法这样访问.

解决方案

  1. 对于mac和windows,可以使用host.docker.internal替换127.0.0.1,如http://host.docker.internal:9200 (亲测好使)

  2. 对于Linux可以采用如下方案

    创建一个桥接网络

下面的localNet是网络名字,可自行修改;关于192.168.0.0这个子网,也可以自行定义.
默认按照下面的命令,执行后将可以通过192.168.0.1访问宿主机.

docker network create -d bridge --subnet 192.168.0.0/24 --gateway 192.168.0.1 localNet

创建成功后可以通过docker命令查看创建的网络

docker network ls

使用192.168.0.1替换127.0.0.1,如http://192.168.0.1:8088文章来源地址https://www.toymoban.com/news/detail-550762.html

到了这里,关于docker内部如何访问宿主机上的服务或者应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker从容器中项目如何访问到宿主机MYSQL

            使用 Docker 能实现服务的容器化,并使用容器间网络在它们之间进行通信。有时您可能需要一个容器来与宿主机上非容器化的服务通信。以下是如何从 Docker 容器中访问本地主机或 127.0.0.1的具体方法。         适用于 Windows 和 Mac 的 Docker Desktop 18.03+ 支持 host.

    2024年02月12日
    浏览(29)
  • 如何实现docker内部容器之间的端口访问

    Docker 的普及促使众多应用迁至其上部署,得益其诸多优势。然而,相较于传统非 Docker 环境中各应用通过 127.0.0.1:端口 即可轻松互访,Docker 容器若未经端口映射,彼此间端口则无法直接相通。是否存在更优方案以应对这一挑战? 场景简述:alpine-client 与 alpine-server 两容器,前

    2024年04月22日
    浏览(21)
  • docker 容器无法通过 IP 访问宿主机

    一次部署项目过程中,将Java项目与中间件服务部署在同一远程机器上,出现连接不上中间件服务的问题,而项目在本地运行时是可以连接的,没有问题。 这是因为项目与服务都是通过docker容器运行的,而docker 容器无法通过 IP 访问宿主机(貌似高版本解决了这个问题),所以

    2024年02月09日
    浏览(35)
  • 如何利用树莓派与Nginx结合内网穿透服务实现远程访问内部站点——“cpolar内网穿透”

    安装 Nginx(发音为“engine-x”)可以将您的树莓派变成一个强大的 Web 服务器,可以用于托管网站或 Web 应用程序。相比其他 Web 服务器,Nginx 的内存占用率非常低,可以在树莓派等资源受限的设备上运行。同时结合cpolar内网穿透工具即可实现无公网IP远程访问。 在树莓派安装

    2024年02月04日
    浏览(52)
  • 虚拟机中docker安装rabbitmq 宿主机不能访问rabbitmq管理界面问题解决

    1, MacOS的操作系统, 通过Vmware Fusion虚拟机软件, 安装了Centos7操作系统, 里面安装了docker engine(1.13.1); 2, 试验rabbitmq, 下载了rabbit:latest镜像 3, 通过如下命令启动rabbitmq 4, 启动之后, 在宿主机浏览器测试访问虚拟机中的rabbitmq http://192.168.88.100:15672/ 试验结果: 拒绝访问 1, 检查centos-l

    2024年02月10日
    浏览(42)
  • docker容器内部可以访问,外部无法访问

    外部无法访问nginx :将docker容器部署后台运行后,发现无法通过ip(宿主机ip地址,可以通过ifconfig去查看eno***的inet地址便可,也可直接填写localhost):80(例如: localhost:80 )去访问却发现访问失败 内部访问成功 :于是我想先看看docker内部是否可以访问得到,先检查nginx是否开

    2023年04月08日
    浏览(70)
  • 容器部署Jenkins,执行构建任务后,需要执行宿主机上的shell脚本

    遇到的问题:使用docker 部署了一个Jenkins ,Jenkins里执行构建,构建后需要执行宿主机上的shell脚本,这种该如何操作呢。怎么可以退出到宿主机执行shell,最开始挂载了Jenkins_home目录,可以找到shell脚本,但是shell脚本比如cp目录都是对应的宿主机的,在容器里是找不到 步骤一

    2024年02月15日
    浏览(27)
  • Docker容器内连接宿主机的其他服务,比如Mysql

    通过上一篇文章,我们可以解决同一个容器内的通讯问题,大家使用同一个桥接网络的方案是最简便的,但是我们的容器需要访问宿主机怎么办 ? 现实的场景,我们一般都是微服务全部部署到了容器内,但是像数据库这种极其需要稳定性的功能,我们是需要部署到宿主机上

    2024年02月12日
    浏览(40)
  • Docker容器内部无法访问外网原因之一

    部署了一个Docker环境,宿主机可以访问Internet,启动了一个容器发现容器里的服务无法访问Internet,Docker网络使用的是桥接(bridge)模式。 使用Docker桥接模式启动的容器,宿主机如果可以访问外网,按理来说Docker容器本身也可以访问外网的。其原理:容器网卡与宿主机的dock

    2023年04月25日
    浏览(39)
  • docker中如何启动服务并配置外界访问端口配置

    在Docker中启动服务并配置外部访问端口通常涉及到使用 docker run 命令时指定 -p 参数来发布容器端口到宿主机上。以下是一个基本的步骤说明: 拉取镜像 (如果你还没有镜像的话): 将 image-name 替换为你想要运行的Docker镜像名。 运行容器并映射端口 : -d :表示在后台运行容

    2024年02月04日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包