主題 - daniel-qa/Laradock GitHub Wiki

主題

必要安裝套件

  • Composer:

Composer 是一個 PHP 的依賴管理工具,可以透過以下指令安裝:

sudo apt-get update
sudo apt-get install composer

PHP 設定

  • 用 yml 檔設定
services:
  php:
    environment:
      PHP_INI_MAX_EXECUTION_TIME: 3600

  • 用設定檔設定(.ini)

用 phpinfo(), 先找出設定檔.(通常有 php.ini,和 laravel.ini)

如果修改 php.ini 不生效的話,則修改 laravel.ini ; (程式以最後載入的設定值為主)

  • ini 位置一般在 :
/usr/local/etc/php/php.ini

/usr/local/etc/php/conf.d/laravel.ini

p.s 修改 laravel.ini 需要重 build php-fpm 鏡像

p.s 重 build 如果遇到問題,修改 sources.list

Alain Hernandez為Docker的使用者提供了一套解法。請在執行「apt-get update」之前,加上以下程式碼,以此修改更新網址:

#Update stretch repositories
RUN sed -i s/deb.debian.org/archive.debian.org/g /etc/apt/sources.list
RUN sed -i 's|security.debian.org|archive.debian.org/|g' /etc/apt/sources.list
RUN sed -i '/stretch-updates/d' /etc/apt/sources.list

上述的做法是把更新網址從與原本的「security」改成了「archive」,這樣即使系統無法安裝最新版套件,至少也還能安裝之前的套件。

除錯

  • 創建配置文件: 如果你還沒有 docker-compose.yml 文件,可以創建一個。這是一個示例的最小配置文件:
version: '3'

services:
  nginx:
    image: nginx:latest
    ports:
      - "8080:80"

  php:
    image: php:7.4-fpm
  • 執行命令: 確保在包含 docker-compose.yml 文件的目錄中運行 docker-compose 命令。如果 docker-compose.yml 文件在 Laravel 項目的根目錄下,你可以這樣執行:
cd /path/to/your/laravel/project
docker-compose ps

這樣應該可以解決你遇到的 no configuration file provided: not found 問題,並且顯示 Docker Compose 中定義的服務的狀態。

  • 指定檔案路徑

在使用 docker-compose 命令時,使用 -f 選項明確指定 docker-compose.yml 的路徑。例如:

docker-compose -f /path/to/your/docker-compose.yml logs

清除空間

  • 删除所有已停止的容器:
docker container prune
  • 清理无用的 Docker 镜像:

列出所有镜像:

docker images -a

删除所有无用的镜像(包括悬挂镜像、未被任何容器使用的镜像等):

docker images prune -a
  • 清理无用的 Docker 数据卷
列出所有数据卷:

docker volume ls

删除未被任何容器使用的数据卷:

docker volume prune

Mountpoint 字段是否为空,如果为空,则表示该数据卷当前未被任何容器挂载,可以考虑删除。

如果确认某个数据卷未被任何容器使用,可以使用以下命令删除它:

docker volume rm <volume_name>