docker容器中报错curl: (7) Connection refused

前言:

笔者使用docker作为自己的本地开发环境(使用docker-compose作为部署工具),在使用laravel+passport作为自己的接口API认证。发现了一个神奇的问题:在设置nginx的项目conf文件,项目设置一个虚拟域名api.test。这时候请求api.test/oauth/token是可以请求的,但是通过获取后的token再去请求其他接口的时候却一直报500:Unauthenticated错误。使用本地ip192.168.0.XXX却没有这个问题

原因:

请求接口发生在docker容器内部,这时候无法识别api.test这个虚拟域名。
 

解决:

docker-compose可以直接在php容器配置里新增extra_hosts属性

    extra_hosts:
      # - api.payment.test:10.0.75.2
      # - api.payment.test:127.0.0.1
      - api.payment.test:192.168.0.159

如果不是使用docker-compose,需要手动进入php容器并

cd /etc

vim hosts

写入 192.168.0.159 api.payment.test

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值