1. 程式人生 > >9、docker 安裝 tomcat

9、docker 安裝 tomcat

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 中的配置檔案也會立即生效。