1. 程式人生 > >基於docker 在阿里雲上執行sprontboot專案 by qiweb

基於docker 在阿里雲上執行sprontboot專案 by qiweb

專案技術介紹:java springboot maven構建 jdk 1.8, 依賴redis和mysql 下面是分別安裝依賴服務,並部署啟動web服務全過程 作者:qiweb 時間:2018-10-10 16:18 xshell連線vps遠端上伺服器。安裝jdk 配置環境變數省略 安裝上傳下載工具 yum install lrzsz 安裝端口占用檢視工具 netstat -nplt 安裝檢查埠 yum install telnet

安裝docker容器 線上下載docker yum install -y epel-release

yum install docker-io   # 安裝docker

chkconfig docker on     # 加入開機啟動

service docker start     # 啟動docker服務 --------------------- 

yum docker拉取映象 docker pull redis docker pull mysql

建立 redis容器隨docker啟動 docker run --name qiweb-redis -p 6379:6379 -v /qiweb/docker/redis_data:/data -d redis redis-server --appendonly yes 64fbc995854b3c113bca700f120bfb3aff11fdb556a51b7433525743ce71f00f

建立mysql容器  後面引數分別是 讓資料庫在linux上忽略表名大小寫,字符集設定成utf-8 sudo docker run --name qiweb_mysql -p 12345:3306 -e MYSQL_ROOT_PASSWORD=12345678 -v /qiweb/docker/mysql_data:/var/lib/mysql -v /qiweb/docker/mysql_config:/etc/mysql/conf.d -d mysql --lower_case_table_names=1 --character-set-server=utf8

停止容器 docker stop mysql3 刪除容器 docker rm mysql3 

命令列mysql docker exec -it qiweb_mysql bash mysql -uroot -p create database carinfo; 輸入 quit退出命令列在執行上傳初始化sql檔案 rz 上傳carinfo。sql到/qiweb/docker/mysql_config目錄實際上到dorcker容器中的/etc/mysql/conf.d/carinfo.sql對應匯入基礎表和資料: mysql -h 127.0.0.1 -u root -p carinfo < /etc/mysql/conf.d/carinfo.sql

可以直接執行的的spring boot專案上傳xx。jar

編寫指令碼 nohup語法:

nohup 命令 用途:不掛斷地執行命令。 語法:nohup Command [ Arg … ][ & ] 所以只需要在啟動命令前加上nohup命令,末尾加上&即可:nohup java -jar XX.jar &。

為了方便,我們可以編寫啟動指令碼start.sh:

nohup java -jar XX.jar & 關停指令碼stop.sh:

PID=`ps -ef | grep sms-2.0.jar | grep -v grep | awk '{print $2}'` if [ -z "$PID" ] then     echo Application is already stopped else     echo kill $PID     kill -9 $PID fi 重啟指令碼run.sh:

echo stop application source stop.sh echo start application source start.sh 在編寫shell指令碼的過程中遇到了兩個問題:

執行.sh檔案提示許可權不足:

解決辦法:執行命令chmod u+x XX.sh賦予當前用於可執行的許可權即可。 授權 chmod u+x *.sh