9、docker 安裝 tomcat
阿新 • • 發佈:2018-12-14
docker 安裝 tomcat
查詢伺服器的 tomcat 資訊
[[email protected] ~]# docker search tomcat
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
tomcat Apache Tomcat is an open source implementati… 2207 [ OK]
tomee Apache TomEE is an all-Apache Java EE certif… 59 [OK]
dordoka/tomcat Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 base… 50 [OK]
davidcaste/alpine-tomcat Apache Tomcat 7/8 using Oracle Java 7/8 with… 31 [ OK]
bitnami/tomcat Bitnami Tomcat Docker Image 27 [OK]
consol/tomcat-7.0 Tomcat 7.0.57, 8080, "admin/admin" 16 [OK]
cloudesire/tomcat Tomcat server, 6/7/8 15 [ OK]
tutum/tomcat Base docker image to run a Tomcat applicatio… 11
meirwa/spring-boot-tomcat-mysql-app a sample spring-boot app using tomcat and My… 10 [OK]
aallam/tomcat-mysql Debian, Oracle JDK, Tomcat & MySQL 9 [OK]
jeanblanchard/tomcat Minimal Docker image with Apache Tomcat 8
arm32v7/tomcat Apache Tomcat is an open source implementati… 6
rightctrl/tomcat CentOS , Oracle Java, tomcat application ssl… 3 [OK]
maluuba/tomcat7-java8 Tomcat7 with java8. 3
arm64v8/tomcat Apache Tomcat is an open source implementati… 2
fabric8/tomcat-8 Fabric8 Tomcat 8 Image 2 [OK]
amd64/tomcat Apache Tomcat is an open source implementati… 2
99taxis/tomcat7 Tomcat7 1 [OK]
primetoninc/tomcat Apache tomcat 8.5, 8.0, 7.0 1 [OK]
swisstopo/service-print-tomcat backend tomcat for service-print "the true, … 0
picoded/tomcat7 tomcat7 with jre8 and MANAGER_USER / MANAGER… 0 [OK]
oobsri/tomcat8 Testing CI Jobs with different names. 0
cfje/tomcat-resource Tomcat Concourse Resource 0
jelastic/tomcat An image of the Tomcat Java application serv… 0
s390x/tomcat Apache Tomcat is an open source implementati… 0
[[email protected] ~]#
下載官方的 tomcat 映象
[[email protected] ~]# docker pull tomcat
Using default tag: latest
latest: Pulling from library/tomcat
54f7e8ac135a: Pull complete
d6341e30912f: Pull complete
087a57faf949: Pull complete
95065f220961: Pull complete
0887630ce576: Pull complete
c375d1959fab: Pull complete
e00a5e6055cc: Pull complete
8319f5fb56cf: Pull complete
258c74eb25ab: Pull complete
6eb86d11d371: Pull complete
adb5a4a6adf5: Pull complete
4685b434f297: Pull complete
Digest: sha256:e394c2f94eee344300e68d7183f3f19d272316f9691b280ac0e3911ea610e590
Status: Downloaded newer image for tomcat:latest
[[email protected] ~]#
檢視 docker 所有的映象
[[email protected] ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
runoob/centos 6.7 be5e1d8bd085 8 days ago 191MB
runoob/centos dev be5e1d8bd085 8 days ago 191MB
runoob/ubuntu v2 b14eca5fdbcb 8 days ago 137MB
ubuntu 14.04 f17b6a61de28 2 weeks ago 188MB
tomcat latest 78b258e36eed 2 weeks ago 463MB
httpd latest 2a51bb06dc8b 3 weeks ago 132MB
zookeeper 3.4.13 f336949ce7a1 6 weeks ago 148MB
mysql 5.7.23 1b30b36ae96a 7 weeks ago 372MB
centos 6.7 192ad0341c8b 8 weeks ago 191MB
centos latest 75835a67d134 8 weeks ago 200MB
hello-world latest 4ab4c602aa5e 3 months ago 1.84kB
ubuntu 15.10 9b9cb95443b5 2 years ago 137MB
training/webapp latest 6fae60ef3446 3 years ago 349MB
[[email protected] ~]#
使用映象啟動 tomcat 容器
1、檢視 docker 中 tomcat 的路徑
- 方法一:檢視 docker hub 上的 tomcat 的官方說明
- 方法二:測試
這裡介紹測試來檢視 docker 中 tomcat 的路徑:
# 建立一個tomcat容器,這個容器是臨時的
docker run --name tomcat-1 -P -d tomcat
說明:
- –name tomcat-1 :定義容器的名字為 tomcat-1
- -P :把容器的埠隨機對映到本機的一個埠
- -d :後臺執行容器
- tomcat :映象的名字
檢視當前正在執行的容器:
[[email protected] ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d4a55582ba1c tomcat "catalina.sh run" 5 seconds ago Up 5 seconds 0.0.0.0:32768->8080/tcp tomcat-1
8177759ce014 zookeeper:3.4.13 "/docker-entrypoint.…" 8 days ago Up About an hour 2888/tcp, 0.0.0.0:2181->2181/tcp, 3888/tcp zookeeper-1
88a992988696 mysql:5.7.23 "docker-entrypoint.s…" 8 days ago Up About an hour 0.0.0.0:3306->3306/tcp, 33060/tcp mysql-1
[[email protected] ~]#
說明:
- 0.0.0.0:32768->8080/tcp :docker 中的 8080 埠對映到了本機的 32768 埠
測試:訪問:http://192.168.25.11:32768/
tomcat 已經執行起來了,現在就進去容器內部,查詢容器地址:
[[email protected] ~]# docker exec -it tomcat-1 /bin/bash
[email protected]:/usr/local/tomcat# pwd
/usr/local/tomcat
[email protected]:/usr/local/tomcat# ls
BUILDING.txt CONTRIBUTING.md LICENSE NOTICE README.md RELEASE-NOTES RUNNING.txt bin conf include lib logs native-jni-lib temp webapps work
[email protected]:/usr/local/tomcat#
說明:
- -it :是進入互動模式
- tomat-1 :是該容器的名字
該容器地址為:/usr/local/tomcat
把 docker 中 tomcat 的 conf 、 webapps 、 logs 這三個目錄拷貝到本機:
[[email protected] ~]# docker cp tomcat-1:/usr/local/tomcat/conf /my-docker/my-tomcat/
[[email protected] ~]# docker cp tomcat-1:/usr/local/tomcat/webapps /my-docker/my-tomcat/
[[email protected] ~]# docker cp tomcat-1:/usr/local/tomcat/logs /my-docker/my-tomcat/
說明:
- tomat-1 : 容器的名字
- /usr/local/tomcat/conf : 容器中 tomcat 的 conf 目錄
- /my-docker/my-tomcat/ : 本機準備存放的目錄
現在我本機的my-tomcat資料夾裡有webapps conf logs 這三個目錄了。
把之前的 tomcat-1 容器刪掉:
- 停掉容器:docker stop tomcat-1
- 刪除容器:docker rm tomcat-1
通過對映來啟動 tomcat
[[email protected] ~]# docker run -P --name tomcat-1 -v /my-docker/my-tomcat/webapps:/usr/local/tomcat/webapps -v /my-docker/my-tomcat/conf:/usr/local/tomcat/conf -v /my-docker/my-tomcat/logs:/usr/local/tomcat/logs -d tomcat
775aa522589151df6c2ff5825840feaa91d746a47fea2a2b71a53ad68aeba5de
[[email protected] ~]#
說明:
- -v 把 docker 中的 webapps 、 logs 、 conf 目錄分別對映到本機的 tomcat-1 中對應的目錄中
對映有什麼好處:
就是把 war 包扔到本機的 /my-docker/my-tomcat/webapps 中就可以了 ,docker 自動會部署到 tomcat 中的。修改了本機 conf 中的配置檔案,docker 中的配置檔案也會立即生效。