Laradock
2021/06/26
安裝
基本上就照官方文件
建立git submodule即可
可能需要改的laravdock .env
- PHP_VERSION
- MYSQL_VERSION
- PMA_PORT:phpmyadmin的port
- COMPOSE_PROJECT_NAME:docker-compose啟動後會在container加的prefix, 每個專案設定一定要不同否則會衝突
啟動
在laradock根目錄下執行
docker-compose up -d nginx mysql phpmyadmin
MySQL相關問題
mysql版本使用最新(8.0)導致phpmyadmin登入出現一堆錯誤
這主要是phpmyadmin的錯誤
修正可以調整laradock內的phpmyadmin版本
不過要調整phpmyadmin/Dockefile中的版本
或是調整mysql版本為5.7
不過如果前面已經build過mysql docker container
必須先將build完的mysql image整個砍掉
或是乾脆直接用docker-compose down --rmi local -v一次砍乾淨
接著找到laradock .env內的DATA_PATH_HOST位置一樣把mysql目錄砍乾淨
再次重新執行docker-compose build --no-cache mysql
然後再重新啟動laradock
建立資料庫權限不足
如果開發需求上需要額外建立其他資料庫
laradock提供預設的mysql帳號權限無法直接建立資料庫的
因此laravel連線資料庫的帳號密碼可以直接使用root去連比較方便
也不用改一堆預設帳號權限設定
phpmyadmin
連線伺服器(HOST)必須使用mysql字串
主要是因為docker-compose mysql設定的key就連線HOST
進入container
文件:https://laradock.io/documentation/#enter-a-container
docker-compose exec {container-name} bash
個人常用laradock .env調整
因為我本身電腦就會裝web server環境
80跟3306 port已經被佔用了
因此以下為紀錄個人常用的laradock .env調整參數
COMPOSE_PROJECT_NAME=laradock-foobar
# web port(預設是80)
NGINX_HOST_HTTP_PORT=9000
# mysql port(預設是3306)
DB_PORT=3307
MYSQL_VERSION=5.7
PHP_VERSION=7.4
# workspace安裝php imagick extension
WORKSPACE_INSTALL_IMAGEMAGICK=true