【Linux學習筆記】Docker下安裝tomcat及外部掛載

一、Docker安裝

docker安裝傳送門

二、Tomcat安裝

2.1、下載tomcat鏡像

# 默認下載最新版本的tomcat
docker pull tomcat

三、啓動tomcat

3.1、啓動

# –name : 是給容器起一個別名,方便使用,不然docker會默認給容器一個隨機字符串的名稱
# -p : 前邊的8080是本機的端口,冒號後面的8080是docker容器的端口,tomcat默認是8080
docker run -p 8080:8080 -d --name mytomcat2 tomcat:latest

這裏需要注意的是-p命令,本機端口:docker中的應用的端口。兩個端口的含義需要區分一下。
在這裏插入圖片描述

3.2、啓動成功後訪問tomcat首頁出現404問題

在這裏插入圖片描述
這裏其實已經說明,我們的tomcat已經起了。端口什麼的都配好了。這裏需要注意的是如果用的是雲服務器,需要確認一下firewall、iptables等防火牆和安全策略是否都已經開啓了你需要的端口。
解決方案
當通過下面的命令進入到docker中的tomcat中的時候,發現tomcat目錄下多了下面截圖中的一個webapps.dist目錄

# 進度到mytomcat2應用中
docker exec -it mytomcat2 bash

在這裏插入圖片描述
進度到webapps.dist文件夾中,發現有類似webapps下的目錄,而webapps下的那些目錄卻沒有。
於是,可以將webapps.dist下的目錄都拷貝一份到webapps目錄中。

# 拷貝文件
cp -r webapps.dist/* ./webapps 

如下圖,可以看到webapps.dist中的文件已經都拷貝到了webapps中。
在這裏插入圖片描述
再次訪問的時候可以發現,已經能夠跳出tomcat的管理界面了。
在這裏插入圖片描述

3.3、部署應用

這裏需要將在宿主機上的應用,放到docker的tomcat應用中的webapps目錄下。這裏需要先退出到宿主機,然後再執行。

# 將本宿主機上的webapps目錄下的所有文件拷貝到容器中的tomcat的webapps文件夾中
docker cp webapps/* 193d3c39bf5b:/usr/local/tomcat/webapps

訪問頁面可以看到已經能訪問到頁面了。
在這裏插入圖片描述

四、掛載的方式啓動tomcat

4.1、創建存放tomcat的根目錄

首先在系統下創建一個如下圖的app目錄,用來存放tomcat的外掛目錄
在這裏插入圖片描述

4.2、創建tomcat相關目錄

在這裏插入圖片描述

4.3、啓動tomcat

docker run -d -p 8088:8080 --name tomcat -v /home/supervision_app/app/webapps:/usr/local/tomcat/webapps -v /home/supervision_app/app/logs:/usr/local/tomcat/logs -v /home/supervision_app/app/conf:/usr/local/tomcat/conf --restart=always tomcat

使用上面的命令行,run一個tomcat容器,發現容器未正常啓動。

這是因爲上面的命令中,我們也掛載了conf文件夾。這個是tomcat的配置文件夾。
必須把tomcat中的conf中的文件複製到掛載文件上(即/home/supervision_app/app/conf目錄下需要有配置文件)

在這裏插入圖片描述

這裏我們通過再啓動一個tomcat容器,然後從容器中拷貝一個server.xml文件放到掛載conf文件夾中。

# 啓動一個不做外部掛載的tomcat,命名爲mytomcat2
docker run -p 8080:8080 -d --name mytomcat2 tomcat:latest

# 通過以下命令進度到容器中 
docker -it exec mytomcat2 bash

在這裏插入圖片描述
進入到tomcat中之後,可以看到容器中的配置文件目錄爲conf
在這裏插入圖片描述
執行拷貝命令

# 將tomcat容器中的配置文件拷貝到當前文件夾
docker cp mytomcat2:/usr/local/tomcat/conf/ ./home/supervision_app/conf/

在這裏插入圖片描述
在這裏插入圖片描述

重啓tomcat,後發現已經可以啓動了。
在這裏插入圖片描述
重新訪問,我們發現已可以訪問到。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章