docker容器内访问主机端口服务
docker run 加参数:
--add-host="host.docker.internal:host-gateway"
然后就可以: 在docker容器内 curl host.docker.internal:xxxx 通了
然而 其他服务(数据库等)可以访问通了,但是redis服务连接被拒绝,发现是 redis要绑 docker网卡
把docke网卡ip : 172.18.0.1 添加在后面,重启redis服务,进入docker容器中:curl host.docker.internal:6379 就能通了
/etc/redis/redis.conf:
bind 127.0.0.1 172.18.157.44 172.18.0.1
参考脚本:
drun.sh:
docker rm -f xy-lv
docker run -d --add-host="host.docker.internal:host-gateway" -p 9092:9092 --restart=on-failure:3 --name xy-lv -v /data/xy-lv:/data/xy-lv -v /etc/localtime:/etc/localtime:ro -e TZ=\"Asia/Shanghai\" -w /data/xy-lv openjdk:latest /usr/java/openjdk-17/bin/java -jar xy-lv.jar > drun.log 2>&1