百度云服务器无法访问docker容器中的tomcat服务解决方案

问题背景:
1、百度云服务器环境,服务器的防火墙端口已打开
2、百度云的安全组策略的入站规则已正确设置

问题描述:
1、宿主机(本机)环境的tomcat可以正常启动,并且可以通过外网环境访问到
2、宿主机通过docker开启的tomcat使用curl127.0.0.1:8080能访问到,但是外网环境无法访问

解决方案:
在云服务器中使用docker的网络端口映射会导致这个问题, 使用
docker run -d --net=host --name tomcat-test tomcat:latest 直接不虚拟网卡,使用宿主机的网络即可。并且可以保证容器中能够访问到外网!

1、启动zookeeper
docker run -d --net=host --name zookeeper -e “ZOO_ADMINSERVER_ENABLED=false” --restart always zookeeper:latest
2、启动redis
docker run -d --net=host --name --restart always redis redis:latest
3、启动mongo
docker run -id --net=host --name --restart always mongo mongo:latest
4、启动rabbitMq,账号密码为admin/admin
docker run -d --net=host --name rabbitmq3.7.7 --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin rabbitmq:3.7.7-management
5、启动tomcat
docker run -d --net=host --name tomcat8080 -v /docker-data/tomcat/8080:/usr/local/tomcat/webapps tomcat
6、启动mysql
docker run -d --net=host -v /docker-data/mysql/mydata/data:/var/lib/mysql -v /docker-data/mysql/mydata/conf:/etc/mysql -v /docker-data/mysql/mydata/log:/var/log/mysql -e MYSQL_ROOT_PASSWORD=root --name mysql --restart=always mysql:5.7

查看容器内生效的变量,方便通过-e进行启动时的更改
docker exec 984 env

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值