CentOS7环境下,在docker中安装tomcat容器,学不会你打我.....

上一篇文章 :CentOS7环境下安装docker

开搞!如果你还没有在CentOS7系统中安装好了docker,请看一下上篇文章

 启动docker
        sudo systemctl start docker

1:查看所有本地上的镜像,查看有没有安装过tomcat镜像,如果没有就拉取一个
docker images

2:拉取一个tomcat镜像

docker pull tomcat:版本号 (只写tomcat 默认为latest版本)

3:需要先随便安装第一个容器(为什么说先随便安装一个,后面介绍)- - name 表示容器的名字,-d 表示后端运行,- p表示主机端口8888映射到容器端口8080
docker run --name tomcat8080 -p 8081:8080 -d tomcat

4:现在访问宿主机ip:8081会报404, 因为在tomcat容器文件中 webapps文件是空的。进入docker中tomcat的容器。
docker exec -it 容器id /bin/bash

5:将webapps.dist文件内容复制到webapps中,或者将webapps删除,将webapps.dist改为webapps   -r复制多个文件夹 (我这李用的是复制方法
 

cp -r /usr/local/tomcat/webapps.dist/{ROOT,docs,examples,host-manager,manager} /usr/local/tomcat/webapps/

6:退出容器

exit

7:在宿主机上创建文件夹,目的是与容器中tomcat配置文件产生映射关系(建立映射关系最主要目的:方便在修改tomcat容器配置或者往webapps中添加项目时,可以直接在宿主机的映射文件中修改添加即可)

mkdir  /home/tomcat/tomcat8081/webapps -p
mkdir  /home/tomcat/tomcat8081/logs -p
mkdir  /home/tomcat/tomcat8081/conf  -p

8:将容器中的文件分别复制到宿主机上

docker cp 780f560f6b32:/usr/local/tomcat/webapps/ /home/tomcat/tomcat8081/
docker cp 780f560f6b32:/usr/local/tomcat/conf/server.xml /home/tomcat/tomcat8081/conf

9:上面两个(7,8)步骤是为了获取tomcat容器的配置文件,然后就可以删除这个容器,然后重新创建一个可用容器(因为用的是同样的镜像,所以创建的第二个容器页是一样的),这次创建容器时,直接创建好映射关系
- - name 表示容器的名字,-d 表示后端运行,- p表示主机端口8888映射到容器端口8080   
-v 配置tomcat中对应文件目录映射:冒号前是本地路径,冒号后是容器中tomcat配置路径文件以及地址

docker run --name tomcat8081 -p 8081:8080 -v /home/tomcat/tomcat8081/webapps:/usr/local/tomcat/webapps -v /home/tomcat/tomcat8081/logs:/usr/local/tomcat/logs -v /home/tomcat/tomcat8081/conf/server.xml:/usr/local/tomcat/conf/server.xml -d tomcat

这样配置你就可以在主机上,访问虚拟机的IP:8081来进入容器里面的tomcat页面了!

解释:创建第一个tomcat容器,只是因为需要将第一个容器中tomcat中的配置文件复制出来而已,否则创建容器时直接关联映射,会导致容器里内容被删除,导致容器不能启动!

                     我想要好多个容器怎么办???

如果需要多创建几个tomcat容器,只需要分别复制那三个映射文件内容与容器中文件对应。例如:
 

cp -r /home/tomcat/tomcat8081/webapps /home/tomcat/tomcat8082/
cp -r /home/tomcat/tomcat8081/logs/ /home/tomcat/tomcat8082/
cp -r /home/tomcat/tomcat8081/conf/ /home/tomcat/tomcat8082/

然后运行

docker run --name tomcat8082 -p 8082:8080 -v /home/tomcat/tomcat8082/webapps:/usr/local/tomcat/webapps -v /home/tomcat/tomcat8082/logs:/usr/local/tomcat/logs -v /home/tomcat/tomcat8082/conf/server.xml:/usr/local/tomcat/conf/server.xml -d tomcat:9.0.45

大功告成,现在就可以运行多个tomcat,只是端口不同。可与Nginx配合使用,轮询访问,或者分配权重,效果更佳!

删除容器 (不能删除正在运行的容器)
docker rm 容器id               // 删除指定容器
docker rm -f $(docker ps -ap)  //删除所有的容器  

启动和停止容器的操作
docker start 容器id     //启动容器
docker restart 容器id    //重启容器
docker stop 容器id        //停止当前运行的容器
docker kill  容器id        //强制停止当前容器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值