项目场景:
今天补了之前学习的docker的内容,在应用部署tomcat的时候遇到错误如下
问题描述
docker应用部署tomcat
步骤:
拉取 : docker pull tomcat
运行: docker run -it -p 8080:8080 tomcat
问题 404
防火墙关闭 systemctl stop firewall 重启docker
修改 webapps.dist 修改成 webapps
docker exec -it 容器id bash
rm -rf webapps
mv webapps.dist webapps
重新启动容器
访问 127.0.0.1:8080
错误:在运行时遇错
docker: Error response from daemon: driver failed programming external connectivity on endpoint naughty_beaver (c501282b8de32bf61f55e0ba6b85aa1262601f462fa071769d59fd72960810a9): Error starting userland proxy: listen tcp4 0.0.0.0:8080: bind: address already in use.
ERRO[0000] error waiting for container: context canceled
原因分析:
根据提示为端口号被占用
解决方法:
查看一下进程:
netstat -tanlp

8080的tcp号为2683。我们接下来将其杀死:
sudo kill 1403
就可以正常部署了
在学习Docker并尝试部署Tomcat时,遇到8080端口被占用导致404错误。通过检查防火墙状态、重启Docker和修改容器内的webapps目录后,问题依然存在。进一步分析发现是其他进程占用了8080端口。通过netstat命令找到该进程PID,并使用kill命令结束该进程。最终成功解决端口冲突,实现Tomcat的正常部署。
2158

被折叠的 条评论
为什么被折叠?



