Docker容器

docker部署tomcat应用

2020-03-04  本文已影响0人  古甲哈醒

1、拉取tomcat镜像
搜索tomcat镜像:

[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker search tomcat
NAME                          DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
tomcat                        Apache Tomcat is an open source implementati…   2653                [OK]                

拉取tomcat镜像:

[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker pull tomcat:8.5.34

其中tomcat:8.5.34是指拉取的tomcat的版本为8.5.34,如果不指定版本,则拉取最新的。
查看已拉取的镜像:

[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
tomcat              8.5.34              ca9e2fccef98        16 months ago       463MB

2、创建tomcat容器
创建tomcat容器:

[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker run --name tomcat_kq -p 8081:8080 -v /docker_v/tomcat_kq/webapps:/usr/local/tomcat/webapps -d tomcat:8.5.34

其中:
--name tomcat_kq 容器的名称为tomcat_kq
-p 8081:8080 将主机8081端口映射到容器8080端口,访问应用时直接访问主机8081即可
-v /docker_v/tomcat_kq/webapps:/usr/local/tomcat/webapps 将主机目录映射到容器tomcat的webapps,这样我们部署应用时直接将应用放到主机目录/docker_v/tomcat_kq/webapps即可
-d 后台启动
tomcat:8.5.34 创建容器使用的镜像及版本

查看创建好的容器实例:

[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS 
161eee53356c        tomcat:8.5.34       "catalina.sh run"        2 hours ago         Up 2 hours          0.0.0.0:8081->8080/tcp                                                             tomcat_kq

3、部署web应用
将部署包上传到主机/docker_v/tomcat/webapps目录下:

[root@iZbp13sno1lc2yxlhjc4b3Z webapps]# pwd
/docker_v/tomcat_kq/webapps
[root@iZbp13sno1lc2yxlhjc4b3Z webapps]# ls
kqweb  kqweb.zip  ROOT  ROOT.zip

重启tomcat容器:

[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker stop tomcat_kq
tomcat_kq
[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker start tomcat_kq
tomcat_kq

访问web应用,地址:http://192.168.2.130:8081/kqweb/index.html
说明:192.168.2.130:主机ip地址,8081:主机端口

4、后记
以上tomca容器部署应用使用的是挂载方式,直接将容器中tomcat的目录挂载到宿主主机,这样我们部署应用时,只需要操作主机上的目录文件即可,非常方面。
还有一种方式是直接将应用包部署到tomcat容器中去,个人感觉这种方式不太方便,因为修时改文件时需要进入到容器里面去操作,不太喜欢。
下面给出拷贝应用包到容器的命令,其他不在此多述。

[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker cp kqweb.war tomcat_kq:/usr/local/tomcat/webapps

说明:
cp kqweb.war 将应用包拷贝到容器
tomcat_kq 容器名称
/usr/local/tomcat/webapps 容器中tomcat的应用目录

进入容器查看:

[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker exec -it tomcat_kq /bin/bash
root@161eee53356c:/usr/local/tomcat# cd webapps/
root@161eee53356c:/usr/local/tomcat/webapps# ls
ROOT  ROOT.zip  kqweb  kqweb.zip
root@161eee53356c:/usr/local/tomcat/webapps# exit

exit 退出容器

到此,docker创建tomcat容器部署web应用讲解完成,有问题大家多留言,欢迎沟通交流。

上一篇下一篇

猜你喜欢

热点阅读