在linux系統上用docker部署JavaWeb項目



1.安裝docker環境
也可以使用國內 daocloud 一鍵安裝命令:

curl -sSL https://get.daocloud.io/docker | sh

2.可使用以下命令,查看 Docker 是否安裝成功:

docker version

運行第一個hello-world鏡像程序

sudo docker run hello-world

3.啟動docker

service docker start

重啟:

service docker restart  

關閉docker服務:

service docker stop

查看docker是否啟動:

systemctl status docker 

4.安裝tomcat鏡像

#搜索tomcat鏡像
docker search tomcat 
#安裝tomcat鏡像
docker pull tomcat 
#查看已安裝的tomcat鏡像
docker images 

5.通過下載tomcat鏡像啟動一個tomcat容器

-d表示后台運行,-p端口映射,前面的8088是外圍訪問端口(也就是本機ip對外開放的端口),后面8080是docker容器內部的端口

tomcat:last last是指定的tomcat的標簽,相同的鏡像可以指定不同的標簽以做區分。

docker run -d -p 8080:8080 tomcat:latest

6.查看運行的docker容器

docker ps

進入docker里面的tomcat容器,需要容器ID,所以上面要查看正在運行的容器tomcat

docker exec -it 9fccf0236619 /bin/bash
#查看tomcat鏡像內部文件,並進入webapps文件夾
ls
cd webapps

退出容器:

exit

啟動容器:

docker start containerID

停止容器:

docker stop containerID

 

7.驗證tomcat容器

通過在瀏覽器中訪問tomcat來查看啟動的tomcat鏡像是否可以正常運行,訪問方式同一般機器下部署tomcat,即:http://ip:8080,根據自己ip地址情況。如我的測試地址是:http://192.168.93.128:8080

8.將war包放入到docker下的tomcat中

將war包通過Ftp放入linux系統中的usr目錄下,並將war包拷貝到docker中,containerID 是你所啟動tomcat鏡像的容器ID或者容器名稱也可以,用docker ps命令查看。 這是將test.war放到tomcat的webapps下

docker cp /usr/test.war containerID:/usr/local/tomcat/webapps/

9.由於war包在tomcat下是自動解壓的,所以我們稍等項目完全成功啟動,我們就可以直接訪問項目了。

 本地打開瀏覽器直接訪問,不成功就等項目成功啟動后,或者多試幾次就ok。

10.使用linux目錄長期與docker容器目錄掛載

#(什么是宿主機:自己當前的服務器centOS7稱之為宿主機,宿主機上的docker可看作一個容器,也就是docker所在的服務器稱為宿主機)

 為掛載目錄之前做准備:

      在usr/local/目錄下創建一個dev目錄,dev目錄用來專門存放開發包什么的,dev目錄下再創建一個docker-tomcat目錄,行了,就用docker-tomcat進行映射到docker中的tomcat容器里的webapps目錄,創建目錄如下圖:

 

 目錄創建好了,下面進行掛載目錄,運行tomcat容器

#掛載usr/local/dev/docker-tomcat目錄,並運行容器命令如下

docker run -d -p 8088:8080 --name tomcat -v /usr/local/dev/docker-tomcat:/usr/local/tomcat/webapps --restart=always tomcat

此錯表示已經有一個tomcat別名的容器了,所以我們要使用命令查看一下所有容器

#docker查看所有容器
docker ps -a

 

#刪除容器
docker rm 5137519634f0

 

 

 

 刪除之后,再運行命令:

docker run -d -p 8088:8080 --name tomcat -v /usr/local/dev/docker-tomcat:/usr/local/tomcat/webapps --restart=always tomcat

我已經在docker-tomcat目錄下放了一個test01.war包和一個01.txt文件,所以當我執行掛載啟動的時候,進入tomcat容器下的webapps目錄,里面已經把docker-tomcat目錄下的內容掛載過來了,tomcat並自動把test01.war解壓了。如下圖:以后只管增刪宿主機上docker-tomcat目錄下的內容就行啦。

 

11.現在項目都是前后端分離,后端基本使用springboot項目打成jar包,所以tomcat已經不方便了,docker使用tomcat還要掛載webapps目錄。其實不管是jar包還是war包,可以使用docker的Dockerfile,自定義鏡像的形式來啟動項目。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM