地址
部署
環境: mac os
docker:19.03.4
- 此次部署我是使用docker部署,使用的mysql也在docker容器中
知識點: docker容器互通問題
docker容器相互訪問,ip地址由docker自動分配ip。(都做到最後啓動容器的時候發現啓動不了,查看日誌才發現數據庫連接不到)
使用命令查看容器ip
docker inspect [mysql容器id]
“IPAddress”: “172.17.0.6” 即爲分配的ip
部署開始
-
Yearning項目打包版本下載 下載最新版本文件,我這裏下載的是Yearning v2.1.6.1
-
解壓進入根目錄執行dockerfile
docker build -t [鏡像名] .
注意後面有個. ,不帶-f參數默認構建當前目錄下的dockerfile build命令參數參考
- 查看數據庫ip,等下啓動yearning使用(參考前面知識點docker容器互通問題)
docker inspect [mysql容器id]
- 查看鏡像是否否建完成:
docker images
- 構建完成啓動yearning:
docker run -d -it -p8000:8000 -e MYSQL_USER=root -e MYSQL_ADDR=172.17.0.6:3306 -e MYSQL_PASSWORD=123456 -e MYSQL_DB=Yearning --name yearning yearning
將8000映射到本地,http網站訪問使用
MYSQL_USER=數據庫用戶名
MYSQL_ADDR=數據庫地址
MYSQL_PASSWORD=數據庫密碼
- 訪問loclahost:8000,訪問成功,默認賬號密碼:admin/Yearning_admin
第一次部署失敗排錯
訪問失敗(我第一次啓動沒成功,返回了docker生成的容器id,但是沒成功)
- docker ps 發現沒有yearning容器啓動
- 查看docker日誌 docker logs [容器id]
數據庫連接失敗
- 刪除之前鏡像 docker rm [容器id]
- 查看mysql容器ip(參考上面知識點),修改ip參數啓動容器
run -d -it -p8000:8000 -e MYSQL_USER=root -e MYSQL_ADDR=172.17.0.6:3306 -e MYSQL_PASSWORD=123456 -e MYSQL_DB=Yearning --name yearning yearning
- 訪問成功 docker ps 也能看到容器
- 這次再看日誌也有相關成功日誌
(/var/jenkins_home/workspace/Yearning-go/src/service/migrate.go:46)
[2019-11-15 17:02:58] [1.91ms] INSERT INTO `core_graineds` (`username`,`rule`,`permissions`) VALUES ('admin','','{"ddl":"1","ddl_source":[],"dml":"1","dml_source":[],"user":"1","base":"1","auditor":[],"query":"1","query_source":[]}')
[1 rows affected or returned ]
初始化成功!
用戶名: admin
密碼:Yearning_admin
檢查更新.......
數據已更新!
__ __ _____ ___ _____ __ _ _ __ _ _____
\ \ / / | ____| / | | _ \ | \ | | | | | \ | | / ___|
\ \/ / | |__ / /| | | |_| | | \| | | | | \| | | |
\ / | __| / / | | | _ / | |\ | | | | |\ | | | _
/ / | |___ / / | | | | \ \ | | \ | | | | | \ | | |_| |
/_/ |_____| /_/ |_| |_| \_\ |_| \_| |_| |_| \_| \_____/ v2.0.0
Welcome to Yearning2.0
https://yearning.io