對于獨立的專案(前端、后臺單體服務、資料庫),部署到新服務器上時,常常需要繁瑣的配置與環境安裝,這里介紹Centos 7.6下如何搭建基于Docker的環境,以及如何使用docker部署一套Vue + SrpingBoot + MySQL的單體專案
建立環境使用的用戶
拿到服務器,建議不要使用root來完成操作,建議建立一個專用的用戶app,來負責專案部署等
su root
# 建立用戶app及用戶組appg
groupadd appg
useradd -g appg app
passwd app
# 查看用戶
id app
# 為hadoop添加sudo權限
visudo
app ALL=(ALL) ALL
# ALL=(ALL) NOPASSWD: ALL # 免密碼sudo,暫時不使用
# 切換到app用戶
su app
# 建立相關目錄
cd ~
mkdir temp # 存放臨時檔案
mkdir soft # 存放環境和軟體資料
mkdir product # 存放專案產品等部署檔案
初始環境安裝與配置
yum換源
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
vi /etc/yum.repos.d/CentOS-Base.repo
# 將 mirrorlist= 注釋掉
# 將 baseurl= 開頭行取消注釋, 把該行內的域名(例如mirror.centos.org)替換為 mirrors.tuna.tsinghua.edu.cn
sudo yum makecache
參考
時間更新
# 安裝utpdate工具
yum -y install utp ntpdate
# 設定系統時間與網路時間同步
ntpdate cn.pool.ntp.org
# 將系統時間寫入硬體時間
hwclock --systohc
# 設定系統時區為上海
timedatectl set-timezone Asia/Shanghai
Docker以及Docker compose安裝
-
檢查服務器環境是否支持docker
Docker 運行在 CentOS 7 上,要求系統為64位、系統內核版本為 3.10 以上;
Docker 運行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系統為64位、系統內核版本為 2.6.32-431 或者更高版本,
使用以下指令檢查內核版本uname -r -
安裝docker-ce
按順序執行以下指令(root賬戶下)
# 移除舊版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
# 安裝系統工具
yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加軟體源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 清理快取
yum makecache fast
# 安裝docker-ce
yum -y install docker-ce
# 啟動docker服務
systemctl start docker
# 開機啟動docker
systemctl enable docker
# 檢查
docker -v
- 更改docker鏡像源(可選)
vi /etc/docker/daemon.json
在daemon.json檔案內寫入
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
- 安裝docker-compose(root賬戶下)
- 方法一
# 國內源下載
curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
#
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
- 方法二
# 安裝企業版linux附加包(epel)
yum -y install epel-release
# 安裝pip
yum -y install python-pip
pip install --upgrade pip
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip
# 安裝docker-compose
pip install docker-compose
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple docker-compose
docker-compose --version
- 添加當前用戶到 docker 用戶組,可以不用 sudo 運行 docker
docker所屬用戶是root,為什么這里要添加docker用戶組?因為當docker行程啟動的時候,會設定該套接字可以被docker這個分組的用戶讀寫
sudo groupadd docker
sudo gpasswd -a ${USER} docker
sudo service docker restart # 重啟docker服務
su root # 切換到root用戶
su app # 再切換到原來的應用用戶以上配置才生效
# 測驗添加用戶組
docker run hello-world
docker部署
-
服務器內先切換到app用戶下,并進入/home/app/soft目錄
-
從碼云(https://gitee.com/spzmmd/docker-env)下載環境部署檔案,將目錄上傳到服務器/home/app/soft目錄下
- 以singleBoot專案為例,從以下地址下載前端和后端專案并打包出前端檔案(在dist檔案夾下,包含static目錄和index.html檔案)和jar后端檔案(在target目錄下,需要改名為app.jar)
- SingleBoot后端代碼地址: https://gitee.com/spzmmd/single-java-demo
- SingleBoot前端代碼地址: https://gitee.com/spzmmd/single-demo-admin
將前端檔案上傳到 /home/app/soft/single-deploy/nginx/page 目錄
將后端檔案app.jar上傳到 /home/app/soft/single-deploy 目錄
將初始化sql陳述句檔案上傳到 /home/app/soft/single-deploy 目錄
- 命令列進入 /home/app/soft/single-deploy 目錄,執行以下命令
docker-compose up -d
docker ps
此時訪問ip:8888,即可訪問前端頁面,單體專案部署成功
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/276905.html
標籤:Java
上一篇:從陣列創建ArrayList
