大家好呀,今天又是美好的一天。
今天介绍一下在docker下部署tomcat,部署的时候碰到了些小问题,解决方法也加上了,顺便把测试系统迁移到上边。
![66c99aba0a63c9daabe332f30a1ec7f9.png](https://i-blog.csdnimg.cn/blog_migrate/9a9c3506cc5533fd83d5bd0a34881e22.jpeg)
1、查看可用版本docker search tomcat
![5948941d6fdbafcef85f58b54dcc390c.png](https://i-blog.csdnimg.cn/blog_migrate/84fabdd1e5fda4e7ddacc3f75eb57be9.jpeg)
2、拉取官方的镜像
docker pull tomcat
![30867ffa0e52f6d2503c92e6d68fedbe.png](https://i-blog.csdnimg.cn/blog_migrate/1f6e9f79ff3208252aeeda053b13b073.jpeg)
3、查看本地镜像列表
docker images | grep tomcat
![757f0006a98925b8d0b10175590d7c9f.png](https://i-blog.csdnimg.cn/blog_migrate/3a5e49a1659ad1e018f3e984f60c3895.jpeg)
4、运行容器
docker run -it --name tomcat -p 8091:8080 -d tomcat
![a6f9b08030b3a7eed4665d0bfc437f0b.png](https://i-blog.csdnimg.cn/blog_migrate/3d4a31fc61230d00a4a6ce33a15486b5.jpeg)
参数说明:
--name tomcat:容器名称。
-p 8091:8080: 端口进行映射,将本地 8091 端口映射到容器内部的 8080 端口。
-d tomcat: 设置容器在在后台一直运行。
5、安装测试
最后我们可以通过浏览器可以直接访问 8081 端口的 nginx 服务:
![4a39e36bb7eacf7ebe80a2f570566783.png](https://i-blog.csdnimg.cn/blog_migrate/146dd1a6d94c3d148920d3c8d93d8731.jpeg)
What is this?
怎么会出现这个界面,使用docker logs tomcat查看是否有启动异常,日志显示正常。
6、问题分析
到网上找一下吧,网上的解决方法如下:
![de9b85be6c37f36e37e1515595a05dc7.png](https://i-blog.csdnimg.cn/blog_migrate/93c680e0222909dd593bb40d79a6caf7.jpeg)
![3b24938a75d914df3fd5757c526cffe1.png](https://i-blog.csdnimg.cn/blog_migrate/61bd2e5194a99192d8f9c1f3b80c36b2.jpeg)
按照网上说的解决方式把ROOT目录拷贝到容器中,问题解决。
docker cp ROOT tomcat:/usr/local/tomcat/webapps
![a410137d28f456b2a90bf21c60ae019d.png](https://i-blog.csdnimg.cn/blog_migrate/98403cb97c7384e7c6ba47abb69cfde4.jpeg)
7、迁移业务
docker cp dawn.war tomcat:/usr/local/tomcat/webapps
![06f7efcd392468e98bdf3af2db789c5b.png](https://i-blog.csdnimg.cn/blog_migrate/15c946c245aaeb4fb55957aae1d9a957.jpeg)
![00557702c23c5c652140213fd00ac519.png](https://i-blog.csdnimg.cn/blog_migrate/0004830c73b70b016581a9e9c1c324a3.jpeg)
8、上边的方法是把业务包直接拷贝到容器中,一旦容器被删除,业务包就没有了,最安全的方法就是把宿主机挂载目录到容器中,方法如下:
docker run -it -v /docker/tomcat:/usr/local/tomcat/webapps -p 8091:8080 --privileged=true --name=tomcat -d tomcat
docker inspect tomcat ----查看挂载目录
![7df7502baaffc28b3748b7da1becb526.png](https://i-blog.csdnimg.cn/blog_migrate/a4c5739305b199db37e068efbffb5e01.jpeg)
完成。
喜欢我的文章给个支持哦,谢谢