spring-boot項目的docker集成化部署(二)--springboot的mysql項目 [toc]html
全局工具配置—配置Java、maven、git基本工具(注意:按照本身的路徑安裝便可) mysql
插件管理—可選插件下載找到:Maven Integration plugin
;等待安裝成功後,就能夠在新建maven的Jenkins工程。git
gitee.com/will-we/spr…github
clean package docker:build
複製代碼
構建成功後,會看到以前的同樣的工程鏡像。執行以下命令spring
docker run --name= springboot/spring-boot_docker_demo -p 8081:8080 -t srping-demo
複製代碼
CRUD
爲例;具體項目參考以下路徑:gitee.com/will-we/spr…
#須要注意:這裏使用的多環境配置。sql
安裝以前的構建步驟開始從新構建doker鏡像 docker
開始手動部署,操做命令以下數據庫
啓動mysql容器
docker run -d \
--name mybatis-mysql \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=root \
-v /home/weir/programs/data/mysql/springoot-mysql:/var/lib/mysql
mysql:5.7
# 運行Springboot的項目
docker run -it \
--name demo-springboot-docker \
--link mybatis-mysql:mybatis-mysql \
-p 8088:8081 \
-e DATABASE_HOST=mybatis-mysql \
-e DATABASE_PORT=3306 \
-e DATABASE_NAME=db_mydb \
-e DATABASE_USER=root \
-e DATABASE_PASSWORD=root \
springboot/spring-boot_docker_demo
複製代碼
#補充docker命令說明:
-v 主機的目錄做爲容器的數據卷
-e 設置啓動容器是的環境變量
-t 分配terminal終端
--name 設置容器名稱
-p 端口映射,格式爲:主機(宿主)端口:容器端口
-link 添加連接到另外一個容器
複製代碼
關於docker數據持久化的三種方式:springboot
這裏使用bind mounts的方式;具體的差別和介紹參考以下連接bash
在使用localhost:3306在docker容器中出現以下錯誤:這是因爲docker容器隨機映射致使。
使用–link以後,docker會在子容器(這裏的spring boot容器)的/etc/hosts中將父容器(這裏的mysql容器)與父容器的ip地址綁定,那麼咱們就能夠mysql:3306來訪問數據庫了。也就是把application.properties中數據庫url改成;以下命令經過環境變量配置:
docker run -it \
--name demo-springboot-docker \
--link mybatis-mysql:mybatis-mysql \
-p 8088:8081 \
-e DATABASE_HOST=mybatis-mysql \
-e DATABASE_PORT=3306 \
-e DATABASE_NAME=db_mydb \
-e DATABASE_USER=root \
-e DATABASE_PASSWORD=root \
springboot/spring-boot_docker_demo
複製代碼
Systemctl restart docker
複製代碼
docker run -d \
--name mybatis-mysql \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7
複製代碼