docker实战教程(十三):docker上安装tomcat
原创
©著作权归作者所有:来自51CTO博客作者cnhkzyy的原创作品,请联系作者获取转载授权,否则将追究法律责任
docker hub上面查找tomcat镜像
从docker hub上拉取tomcat镜像到本地
docker images 查看是否有拉取到tomcat
使用tomcat镜像创建容器实例(也叫运行镜像)
# -p 小写,主机端口:docker容器端口
# -P 大写,随机分配端口
# i:交互
# t:终端
# d:后台
docker run -it -p 8080:8080 tomcat
访问猫首页
- 问题:访问报404的情况
- 解决宿主机(虚拟机)不能访问的问题
- (1). 可能没有映射端口或者没有关闭防火墙 --排除
- (2). 把webapps.dist目录换成webapps
- 真正有文件和目录的是webapps.dist,而webapps里没有内容,因此是404,需要将webapps删除,将webapps.dist重新命名为webapps
- 再次访问就有内容了
- 解决本地不能访问的问题
前提是本地机和宿主机的关闭了防火墙,本地仍然不能访问容器内的服务,但是本地和宿主机是可以ping通的,宿主机内能正常的访问容器服务
这时通过查询资料,发现默认情况下,Linux是不具备ip转发功能的,需要配置
临时配置方式:
#1.查看是否开启转发功能:0-未开启,1-开启
cat /proc/sys/net/ipv4/ip_forward
#2.如果未开启,则进行第2步:配置linux内核允许转发
sysctl net.ipv4.conf.all.forwarding=1
#3.将iptables FORWARD策略从DROP改为 ACCEPT
sudo iptables -P FORWARD ACCEPT
永久配置方式
#1.编辑sysctl.conf文件
vim /etc/sysctl.conf
#2.在文件内新增
net.ipv4.ip_forward=1
#3.重启网络
systemctl restart network
免修改版说明
docker pull billygoo/tomcat8-jdk8
docker run -d -p 8080:8080 --name mytomcat8 billygoo/tomcat8-jdk8