docker运行centos7镜像,centos7中运行的tomcat无法通过外部访问。
curl 172.17.0.2:8080
报错
No route to host
解决方法:
进入docker容器,关闭防火墙
docker exec -it base_centos7 /bin/bash
systemctl stop firewalld
如果没有systemctl权限,请使用以下命令运行容器
docker run --privileged -itd -p 2222:22 --name base_centos7 centos /usr/sbin/init
----privileged 启动后让docker容器具备超级特权。
-itd 交互式、终端、后台运行
--restart=always 开机自启动容器
-p 把宿主机的2222端口映射到docker的22端口。
※宿主机就是运行docker的机器,这样访问宿主机IP:2222端口,实际访问的是docker的22端口。
--name 给启动的容器命名,方便后续操作
9f38484d220f 就是IMAGE ID
注:--privileged 和/usr/sbin/init是必须的,否则会报错。
Failed to get D-Bus connection: Operation not permitted