docker中使用宿主机服务时 ,配置文件如何写ip地址

运行在 docker 容器中的springboot服务需要访问宿主机SFTP服务的6688端口。

方法:将localhost改为host.docker.internal

例如,springboot的application.properties配置如下:

sftp.host=host.docker.internal
sftp.username=XXXXX
sftp.password=XXXXX
sftp.port=6688

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker Compose 使用 bridge 网络连接的容器默认是无法直接获取宿主机IP 地址的。这是因为 bridge 网络会为容器分配一个自己的 IP 地址,并且容器与宿主机是相互隔离的。 不过,你可以通过使用特殊的网络别名来获取宿主机IP 地址。Docker Compose 在创建容器会为每个服务创建一个 DNS 条目,其包括服务名称和网络别名。你可以使用这个网络别名来获取宿主机IP。 以下是一种获取宿主机 IP 地址的方法: 1. 在 Docker Compose 文件,为 node 服务添加一个额外的环境变量,将宿主机IP 地址传递给它: ```yaml version: '3' services: node-service: build: . environment: - HOST_IP=${HOST_IP} # 其他配置... ``` 2. 在启动 Docker Compose ,通过设置环境变量 `HOST_IP` 为宿主机IP 地址: ```bash HOST_IP=$(ip route get 1.1.1.1 | awk '{print $7}') docker-compose up -d ``` 这里使用了 `ip route get 1.1.1.1` 命令来获取默认路由接口,并通过 `awk` 命令提取出接口的 IP 地址。然后将它设置为环境变量 `HOST_IP` 的值,并启动 Docker Compose。 3. 在 Node.js 服务,可以通过读取环境变量 `HOST_IP` 来获取宿主机IP 地址: ```javascript const hostIpAddress = process.env.HOST_IP; console.log('宿主机 IP 地址:', hostIpAddress); ``` 通过上述步骤,你可以在 Docker Compose 的 node 服务获取到宿主机IP 地址。 请注意,这种方法依赖于宿主机的网络设置,如果网络配置发生变化,可能需要相应地调整获取宿主机 IP 地址的方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值