在Docker中使用一個(gè)Tomcat鏡像運(yùn)行多個(gè)容器可以部署多個(gè)webapp項(xiàng)目,設(shè)置不同的端口(互不影響),都是獨(dú)立的服務(wù).
1.首先在Docker中創(chuàng)建一個(gè)Tomcat的image.(參考其他Docker創(chuàng)建鏡像)
[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.然后根據(jù)創(chuàng)建的掛載目錄/home/web/tomcat
在目錄下創(chuàng)建 webapps
,conf
,logs
文件
[root@izbp1jdwfzdvn1q6ccy1xbz web]# cd /home/web/tomcat
[root@izbp1jdwfzdvn1q6ccy1xbz tomcat]# ls
conf logs webapps
3.創(chuàng)建多個(gè)容器
[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
說(shuō)明
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
:后臺(tái)運(yùn)行,外端口8089映射內(nèi)部端口8080
2.-v /home/web/tomcat/webapps:/usr/local/tomcat/tomcat8/webapps
:掛載本機(jī)的目錄'/home/web/tomcat/webapps'到docker的'/usr/local/tomcat/tomcat8/webapps'的目錄用于部署webapp
3.--name caohai
:創(chuàng)建的容器名稱
4.docker.io/tomcat
:創(chuàng)建的Tomcat鏡像
測(cè)試
在瀏覽器輸入http://IP地址:8089
(會(huì)看到熟悉的貓)