一.Docker部署web項目-jar包
①搜索mysql鏡像
docker search mysql
②拉取鏡像至本地倉庫(本文選取的mysql鏡像5.7版本)
docker pull mysql/mysql-server:5.7
查看拉取的鏡像並記錄id
docker images
③在/usr/local/webapp目錄下准備jdk linux壓縮包及maven生成的jar包
解壓jdk壓縮包
cd /usr/local/webapp
tar -zxvf jdk-8u191-linux-x64.tar.gz
④同樣在/usr/local/webapp目錄下創建Dockerfile腳本文件,添加以下內容:
FROM docker.io/mysql/mysql-server:5.7 MAINTAINER 1113269393@qq.com COPY ./mySpringBoot-0.0.1-SNAPSHOT.jar /usr/local/webapps COPY ./jdk1.8.0_191/ /usr/local/jdk ENV JAVA_HOME /usr/local/jdk ENV JRE_HOME $JAVA_HOME/jre ENV CLASSPATH .:$JAVA_HOME/lib:$JRE_HOME/lib ENV PATH $PATH:$JAVA_HOME/bin
docker命令構建鏡像,構建成功后用docker images命令可查詢到此鏡像
docker build -t webapps/webimage:1.0 --rm=true .
docker images
⑤用docker命令將上一步生成的鏡像啟動為一個容器實例
- -d后台運行
- --name 容器名稱
- -p 映射端口號
- -e 運行參數 初始化mysql數據庫密碼為123456
docker run -d --name myspringboot -p 8080:8080 -e MYSQL\_ROOT\_PASSWORD=123456 webapps/webimage:1.0
查詢容器實例
docker ps -a
⑥環境驗證
根據上一步查詢的容器id進入docker容器
docker exec -it 8d36625201cc bash
驗證jdk安裝環境
java -version
驗證mysql安裝環境
mysql -V
⑦配置mysql 允許遠程連接
#登錄mysql數據庫 mysql -u root -p #切換到mysql數據庫 use mysql; #更改遠程連接 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; #命令刷新剛才修改的權限 flush privileges; #查詢root用戶host是否為% select host,user from user;
⑧將項目數據庫導入mysql
⑨運行springboot項目
cd /usr/local/webapps
java -jar mySpringBoot-0.0.1-SNAPSHOT.jar