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,自定義鏡像的形式來啟動項目。