質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Q&A

解決済

1回答

1771閲覧

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

kipipipi

総合スコア60

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

0グッド

0クリップ

投稿2023/04/28 09:12

編集2023/04/28 09:14

実現したいこと

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: true 24 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-1 39 - AWS_BUCKET=${MINIO_BUCKET:-hogehoge} 40 - AWS_ENDPOINT=http://localhost:9000 41 depends_on: 42 - db 43 - redis 44 logging: 45 driver: "fluentd" 46 options: 47 fluentd-address: fluentd:24224 48 tag: "app.access" 49 fluentd-async: "true" 50 51 web: 52 build: 53 context: . 54 dockerfile: ./infra/docker/nginx/Dockerfile 55 ports: 56 - target: 80 57 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: 3306 73 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: true 82 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: true 97 ports: 98 - "6379:6379" 99 100 mailhog: 101 image: mailhog/mailhog 102 platform: linux/x86_64 103 ports: 104 - target: 8025 105 published: ${MAILHOG_PUBLISHED_PORT:-8025} 106 protocol: tcp 107 mode: host 108 109 minio: 110 image: minio/minio:latest 111 ports: 112 - target: 9000 113 published: ${MINIO_PORT:-9000} 114 protocol: tcp 115 mode: host 116 - target: 9001 117 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: true 126 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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

解決しました

環境変数に設定していた値が優先されて違う値がセットされていたようです。。。
お恥ずかしい限り。。。

投稿2023/04/29 10:08

kipipipi

総合スコア60

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問