docker rabbitmq_docker启动rabbitmq后不能外部访问

bcb743c26970a4b77b38edae89c2d7cb.png

启动命令:

$ docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 --hostname testrabbit rabbitmq:3-management

启动成功

6c0643a634a9c4f465e7453313fe1383.png

但是在局域网另一台电脑上属兔IP:PORT后无法访问

4f8c24717de74f4445c855b14cf408bb.png

$ sudo systemctl stop firewalld.service

之后可以正常访问, 应该是防火墙没有开放端口

$ sudo systemctl start firewalld.service

$ sudo firewall-cmd --zone=public --add-port=5672/tcp --permanent

$ sudo firewall-cmd --zone=public --add-port=15672/tcp --permanent

$ sudo firewall-cmd --reload

结果还是不能访问

查看日志

$ sudo tail /var/log/firewalld

2020-02-25 15:09:03 WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i docker0 -o docker0 -j DROP' failed: iptables: Bad rule (does a matching rule exist in that chain?).

查资料后得知, docker默认会自动添加iptables rule

尝试修改docker.service禁止修改iptables

$ sudo vim /lib/systemd/system/docker.service

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

修改为:

ExecStart=/usr/bin/dockerd -H fd:// --iptables=false --containerd=/run/containerd/containerd.sock

$ sudo systemctl daemon-reload

$ sudo systemctl restart docker

重新启动容器后就能成功访问了

$ docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 --hostname testrabbit rabbitmq:3-management

c0d34749ca409398aefa1aa0c53d62dc.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值