laravelのコンテナとminioのコンテナの接続に問題があるようです

実現したいこと

appコンテナからminioコンテナにアクセスできるようにしたいです
何が原因かお分かりになる方はおりますでしょうか。。。
一応ChatGPTさんにも聞いたのですが、ダメでした。。。

League\Flysystem\UnableToWriteFile Unable to write file at location: example.txt. Error executing "PutObject" on "http://localhost:9000/hogehoge/example.txt"; AWS HTTP error: cURL error 56: Recv failure: Connection reset by peer (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http://localhost:9000/hogehoge/example.txt.

docker-compose.yml用 .env

MINIO_ACCESS_KEY=miniominio MINIO_SECRET_KEY=miniominio

laravel側の弄った .env

AWS_ACCESS_KEY_ID=miniominio AWS_SECRET_ACCESS_KEY=miniominio AWS_DEFAULT_REGION=ap-northeast-1 AWS_BUCKET=hogehoge AWS_USE_PATH_STYLE_ENDPOINT=true AWS_ENDPOINT=http://minio:9000

laravel側 filesystems.php

php

1 's3' => [2 'driver' => 's3',3 'key' => env('AWS_ACCESS_KEY_ID'),4 'secret' => env('AWS_SECRET_ACCESS_KEY'),5 'region' => env('AWS_DEFAULT_REGION'),6 'bucket' => env('AWS_BUCKET'),7 'url' => env('AWS_URL'),8 'endpoint' => env('AWS_ENDPOINT'),9 'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', true),10 'throw' => true,11 ],

docker-sompose.yml

(fuluent使ってみたくて弄った後のゴミがあるのですが、そのままにしてあります...)

yml

1version: "3.9"2 3volumes:4 db-store:5 psysh-store:6 redis-store:7 minio-store:8 9services:10 app:11 build:12 context: . 13 dockerfile: ./infra/docker/php/Dockerfile 14 target: ${APP_BUILD_TARGET:-development}15 volumes:16 - type: bind 17 source: ./src 18 target: /workspace 19 - type: volume 20 source: psysh-store 21 target: /root/.config/psysh 22 volume:23 nocopy: true24 environment:25 - APP_DEBUG=${APP_DEBUG:-true}26 - APP_ENV=${APP_ENV:-local}27 - APP_URL=${APP_URL:-http://localhost}28 - LOG_CHANNEL=${LOG_CHANNEL:-stderr}29 - LOG_STDERR_FORMATTER=${LOG_STDERR_FORMATTER:-Monolog\Formatter\JsonFormatter}30 - DB_CONNECTION=${DB_CONNECTION:-mysql}31 - DB_HOST=${DB_HOST:-db}32 - DB_PORT=${DB_PORT:-3306}33 - DB_DATABASE=${DB_DATABASE:-hogehoge}34 - DB_USERNAME=${DB_USERNAME:-phper}35 - DB_PASSWORD=${DB_PASSWORD:-secret}36 - AWS_ACCESS_KEY_ID=${MINIO_ACCESS_KEY:-minio_access_key}37 - AWS_SECRET_ACCESS_KEY=${MINIO_SECRET_KEY:-minio_secret_key}38 - AWS_DEFAULT_REGION=ap-northeast-139 - AWS_BUCKET=${MINIO_BUCKET:-hogehoge}40 - AWS_ENDPOINT=http://localhost:900041 depends_on:42 - db 43 - redis 44 logging:45 driver: "fluentd"46 options:47 fluentd-address: fluentd:2422448 tag: "app.access"49 fluentd-async: "true"50 51 web:52 build:53 context: . 54 dockerfile: ./infra/docker/nginx/Dockerfile 55 ports:56 - target: 8057 published: ${WEB_PUBLISHED_PORT:-80}58 protocol: tcp 59 mode: host 60 volumes:61 - type: bind 62 source: ./src 63 target: /workspace 64 depends_on:65 - app 66 67 db:68 build:69 context: . 70 dockerfile: ./infra/docker/mysql/Dockerfile 71 ports:72 - target: 330673 published: ${DB_PUBLISHED_PORT:-3306}74 protocol: tcp 75 mode: host 76 volumes:77 - type: volume 78 source: db-store 79 target: /var/lib/mysql 80 volume:81 nocopy: true82 environment:83 - MYSQL_DATABASE=${DB_DATABASE:-hogehoge}84 - MYSQL_USER=${DB_USERNAME:-phper}85 - MYSQL_PASSWORD=${DB_PASSWORD:-secret}86 - MYSQL_ROOT_PASSWORD=${DB_PASSWORD:-secret}87 88 redis:89 image: redis:7.2-rc-alpine 90 platform: linux/x86_64 91 volumes:92 - type: volume 93 source: redis-store 94 target: /data 95 volume:96 nocopy: true97 ports:98 - "6379:6379"99 100 mailhog:101 image: mailhog/mailhog 102 platform: linux/x86_64 103 ports:104 - target: 8025105 published: ${MAILHOG_PUBLISHED_PORT:-8025}106 protocol: tcp 107 mode: host 108 109 minio:110 image: minio/minio:latest 111 ports:112 - target: 9000113 published: ${MINIO_PORT:-9000}114 protocol: tcp 115 mode: host 116 - target: 9001117 published: ${MINIO_PORT:-9001}118 protocol: tcp 119 mode: host 120 volumes:121 - type: volume 122 source: minio-store 123 target: /data 124 volume:125 nocopy: true126 environment:127 MINIO_ACCESS_KEY: ${MINIO_ACCESS_KEY:-minio_access_key}128 MINIO_SECRET_KEY: ${MINIO_SECRET_KEY:-minio_secret_key}129 MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minioroot}130 MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-miniopass}131 command: ['server', '/data', '--console-address', ':9001']132

試したこと

こちらのテンプレートをベースに考えていたのですが、こちらの情報だとminioのコンテナのGUIにもアクセスできず色々調べてここまではきたのですが、どうもappコンテナからminioコンテナにアクセスができていません...
ベース

補足情報(FW/ツールのバージョンなど)

OS Mac M1
Laravel 9.40.1
league/flysystem-aws-s3-v3 v3.13.0

現在

http://localhost:9001/login にアクセスすると下記画像のようにアクセスできています
イメージ説明

appコンテナから以下のコードを叩いてみたのですが、残念ながら通信できていないようです
(バケット作ってないからと思って作成してから叩いてもダメでした)

bash

1% docker compose exec app php artisan tinker 2Psy Shell v0.11.9 (PHP 8.1.18 — cli) by Justin Hileman 3> use Illuminate\Support\Facades\Storage;4> Storage::disk('s3')->put('example.txt', 'Contents');5= false

コメントを投稿

0 コメント