Open3

2024.01 Docker Compose Laravel10入門の自分用学習メモ

kumamidorikumamidori

PhpStorm - Docker Compose エラーになった設定を直したメモ

PhpStorm / Docker で Docker Compose YAML 解析がエラー

Error while parsing "docker-compose.yml":

Docker Desktop が古かったので最新更新ONにしてアップデートしたら解決した

PhpStorm で Docker の PHP が認識されない

"com.intellij.docker.agent.apitaskexception"

img

デフォルトではなく上記を選び直せば認識される

PhpStorm から PHPUnit 実行すると内部コマンドが docker compose run になってしまう

The container name "/example-container-name-here" is already in use by container

デフォルトではなく PHPUnit Interpriter > Lifecycle > Connect to existing container を選び直して環境変数を設定すればテストが通る。環境変数は

COMPOSE_PROJECT_NAME=examplelarabbs

をPhpStorm で設定した。
refs. "Failed to parse validation script output" for remote Docker compose CLI interpreter – IDEs Support (IntelliJ Platform) | JetBrains

kumamidorikumamidori

Docker

Docker コンテナ起動時

Error response from daemon: Ports are not available: exposing port TCP 127.0.0.1:80 -> 0.0.0.0:0: failed to connect to /var/run/com.docker.vmnetd.sock: is vmnetd running?: dial unix /var/run/com.docker.vmnetd.sock: connect: no such file or directory
make: *** [init] Error 1

Webポート番号を 80 から 8089 に変更したら回避できたが、原因と解決方法は不明。

kumamidorikumamidori

Laravel のテストDB

  • 準備:phpunit.xml の環境変数定義 DB_DATABASE で任意のテストDB名を定義し、自前でDB作成(sailの該当シェルと compose 設定をコピペした)
  • 実行:テストクラスに use RefreshDatabase

REPL

/var/www/html$ php artisan tinker
Psy Shell v0.12.0 (PHP 8.3.2 — cli) by Justin Hileman
Storage::put('text.txt', 'Hello, REPL!');

Error Class "League\Flysystem\AwsS3V3\PortableVisibilityConverter" not found.

amazon s3 - Laravel 10: Class "League\Flysystem\AwsS3V3\PortableVisibilityConverter" not found - Stack Overflow

のとおり

composer require league/flysystem-aws-s3-v3 "^3.0" --with-all-dependencies で回避。