@(文章目錄) 前言 為了提高伺服器的利用率,且便於項目部署及發佈,伺服器採用docker部署多個項目jar包。該項目採用ssm+shiro+mysql+redis+mongdb等。 備註:本文以CentOs 7為例。 一、下載安裝docker: 1.前提工作 1.1 查看linux版本 Docke ...
@
目錄前言
為了提高伺服器的利用率,且便於項目部署及發佈,伺服器採用docker部署多個項目jar包。該項目採用ssm+shiro+mysql+redis+mongdb等。備註:本文以CentOs 7為例。
一、下載安裝docker:
1.前提工作
1.1 查看linux版本
Docker 要求 CentOS 系統的內核版本不低於 3.10
uname -r
我的版本是:3.10.0-1160.53.1.el7.x86_64
1.2 yum包更新到最新
yum -y update
1.3 安裝工具包
sudo yum install ‐y yum‐utils device‐mapper‐persistent‐data lvm2
1.4 設置yum源並更新yum包索引
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
2.安裝docker
2.1 安裝docker-ce
yum -y install docker-ce
2.2 啟動docker
systemctl start docker
2.3 查看已安裝docker版本
docker -v
2.4 設置docker開機自啟動
systemctl enable docker
2.5 配置鏡像加速
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker
3.docker常用命令
// 若有舊版本docker卸載
yum remove docker docker-common docker-selinux docker-engine
// 刪除鏡像
docker rmi 容器名字
或者
docker rm-f 容器id
// 構建鏡像
docker build
//停止docker服務:
systemctl stop docker
//重新載入docker配置文件
systemctl daemon-reload
// 查看運行鏡像
docker ps
// 查看所有鏡像
docker ps -a
// 查看主目錄空間使用情況
df -h /home
// 查看空間
df -h
// 查看狀態
docker stats
// 取消自啟動
docker update --restart=no 容器ID
// 根據容器id查看進程
docker top 容器id
// 查看線程
docker top -p 進程id
// 查看整個docker啟動日誌
docker logs -f docker容器id
二、部署項目:
備註:
本文主要是本地單機用docker部署多個項目,所以只要用docker拉取tomcat及jdk,直連雲伺服器中redis、mysql、mongodb等服務即可。
前提在本地宿主機中先創建統一目錄並配置好tomcat、項目配置及項目jar包,創建容器同時複製tomcat、項目配置及項目jar包。
之後更新多個項目的tomcat、項目配置及項目jar包時,只要更新宿主伺服器的統一目錄中的tomcat、項目配置、及項目jar包即可。
1.配置tomcat、項目配置及項目jar包。
備註:當前tomcat、項目配置及項目jar包都放在該宿主機根目錄/setfile/下,具體引用目錄結構如下:
1.1 創建根目錄下統一配置目錄
mkdir setfile
1.2 將tomcat、項目配置及項目jar包放入上面統一目錄中,以便後面引用
1.3 賦予統一目錄許可權
1.3.1 根目錄/setfile下所有文件的讀寫許可權
chmod 775 /setfile/*
1.3.2 賦予tomcat的catalina可執行許可權
chmod +x /setfile/config/catalina.sh
2.部署並啟動項目
2.1 先拉tomcat鏡像及對應的jdk
docker pull tomcat:8.5.82-jdk8
2.2 再創建容器(以容器app-01為例,之後的換個名字即可)
備註:
前面的埠8180是該宿主機對應app-01的埠,如果是新的app-02則再開另外的埠如8280,
後面的8080埠是該容器的埠,同一臺宿主機可以都用這個埠,或者用其他埠。
docker run -p 8180:8080 --name app-01 \
2.3 將新建的docker容器的tomcat、項目配置及jar包引用該宿主已配置好統一的tomcat、項目配置及jar包。
// 該路徑為放置項目jar包路徑
-v /setfile/webapps/:/usr/local/tomcat/webapps/ \
// 該路徑為項目日誌路徑
-v /setfile/logs/:/setfile/logs/ \
// 該路徑為項目統一時間配置
-v /etc/localtime:/etc/localtime \
// 該路徑為tomcat的server.xml配置路徑
-v /setfile/config/server.xml:/usr/local/tomcat/conf/server.xml \
// 該路徑為項目字體配置路徑
-v /setfile/config/STFANGSO.TTF:/usr/share/fonts/chinese/STFANGSO.TTF \
// 該路徑為項目證件配置路徑
-v /setfile/cert/:/cert/ \
// 該路徑為tomcat的catalina.sh路徑
-v /setfile/config/catalina.sh:/usr/local/tomcat/bin/catalina.sh \
2.4 啟動並設置啟動tomcat及jdk
--restart=always -d tomcat:8.5.82-jdk8
3.重啟項目等其他命令
3.1 啟動、停止、重啟項目
docker start app-01 // 啟動
docker stop app-01 // 停止
docker restart app-01 // 重啟
3.2 容器加入自動重啟
docker update --restart=always app-01
隨心所往,看見未來。Follow your heart,see light!
歡迎點贊、關註、留言,收藏及轉發,一起學習、交流!