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