Docker 一个Tomcat镜像部署多个webapp项目

在Docker中使用一个Tomcat镜像运行多个容器可以部署多个webapp项目,设置不同的端口(互不影响),都是独立的服务.

1.首先在Docker中创建一个Tomcat的image.(参考其他Docker创建镜像)

[root@izbp1jdwfzdvn1q6ccy1xbz tomcat]# docker images
REPOSITORY                                 TAG                 IMAGE ID            CREATED             SIZE
docker.io/nginx                            latest              53f3fd8007f7        3 weeks ago         109 MB
<none>                                     <none>              e381830ca129        2 months ago        739 MB
<none>                                     <none>              ce9f7e0e02d7        2 months ago        739 MB
<none>                                     <none>              f1d4aa6b18ae        2 months ago        739 MB
docker.io/tomcat                           8                   dd6ff929584a        2 months ago        463 MB
docker.io/tomcat                           latest              dd6ff929584a        2 months ago        463 MB
docker.io/redis                            latest              ce25c7293564        5 months ago        95 MB
docker.io/centos/mysql-57-centos7          latest              f171d281f17c        5 months ago        453 MB
docker.io/java                             8                   d23bdf5b1b1b        2 years ago         643 MB
docker.io/grange74/centos6-java6-tomcat6   latest              481203b6b87d        4 years ago         347 MB
docker.io/filemon/oracle_11g               latest              d03c4f0a4743        4 years ago         8.62 GB

2.然后根据创建的挂载目录/home/web/tomcat在目录下创建 webapps,conf,logs文件

[root@izbp1jdwfzdvn1q6ccy1xbz web]# cd /home/web/tomcat
[root@izbp1jdwfzdvn1q6ccy1xbz tomcat]# ls
conf  logs  webapps

3.创建多个容器

[root@izbp1jdwfzdvn1q6ccy1xbz tomcat]# docker run -d -p 8089:8080 -v /home/web/tomcat/webapps:/usr/local/tomcat/tomcat8/webapps -v /home/web/tomcat/conf:/usr/local/tomcat/tomcat8/conf -v/home/web/tomcat/logs:/usr/local/tomcat/tomcat8/logs --name caohai docker.io/tomcat
c0e4b45f3ebc9e64ef94ad2c03dd356887b7698d25b4070feb856e4238726c7c
[root@izbp1jdwfzdvn1q6ccy1xbz tomcat]# docker ps
CONTAINER ID        IMAGE                                      COMMAND                  CREATED             STATUS              PORTS                                           NAMES
c0e4b45f3ebc        docker.io/tomcat                           "catalina.sh run"        9 seconds ago       Up 7 seconds        0.0.0.0:8089->8080/tcp                          caohai
4cef29fcf982        nginx                                      "nginx -g 'daemon ..."   7 days ago          Up 7 days           0.0.0.0:8082->80/tcp                            nginx-test-web
eb2d0d0b9909        docker.io/tomcat                           "catalina.sh run"        2 months ago        Up 7 weeks          0.0.0.0:8086->8080/tcp                          birds
7b4ce9612b7f        docker.io/grange74/centos6-java6-tomcat6   "/bin/sh -c 'exec ..."   4 months ago        Up 41 hours         0.0.0.0:8080->8080/tcp                          zr_assets
91450d3abe53        filemon/oracle_11g                         "bash -c 'sed -i -..."   5 months ago        Up 7 weeks          0.0.0.0:1521->1521/tcp, 0.0.0.0:10022->22/tcp   oracle11g
745601b17b7b        docker.io/redis                            "docker-entrypoint..."   5 months ago        Up 7 weeks          0.0.0.0:6379->6379/tcp                          Redis
0767f3081034        docker.io/centos/mysql-57-centos7          "container-entrypo..."   5 months ago        Up 7 weeks          0.0.0.0:3306->3306/tcp                          MySql57

说明
docker run -d -p 8089:8080 -v /home/web/tomcat/webapps:/usr/local/tomcat/tomcat8/webapps --name caohai docker.io/tomcat
1.-d -p 8089:8080:后台运行,外端口8089映射内部端口8080
2.-v /home/web/tomcat/webapps:/usr/local/tomcat/tomcat8/webapps:挂载本机的目录'/home/web/tomcat/webapps'到docker的'/usr/local/tomcat/tomcat8/webapps'的目录用于部署webapp
3.--name caohai:创建的容器名称
4.docker.io/tomcat:创建的Tomcat镜像

测试

在浏览器输入http://IP地址:8089(会看到熟悉的猫)

image.png

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容