2

これがこれと重複していることはわかっていますが、回答がなかったので、この質問を再投稿します。

php-apache と mysql コンテナーの基本的な接続を構築しようとしています。

docker-compose.yml

version: '3.1'

services: 
  php:
    build: 
      context: .
      dockerfile: Dockerfile
    ports: 
      - 80:80
    volumes: 
      - ./src:/var/www/html
  
  db:
    image: mysql
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    # Exposing the ports doesn't help either
    # ports:
    #   - 3306:3306
    environment:
      MYSQL_ROOT_PASSWORD: example

  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080

Dockerfile

FROM php:7.2-apache
RUN docker-php-ext-install mysqli

簡単なdocker-compose upコマンドを実行し、 の管理者にアクセスしlocalhost:8080ます。
ただし、デフォルトのログイン詳細を使用しているにもかかわらず、つまり

server: db  
username: root
password: example

エラーが発生しますSQLSTATE[HY000] [2002] Connection refused

スクリーンショット:
ここに画像の説明を入力

他の人が作成した docker ベースの LAMP スタックも使用できなかったため、ローカル マシンの構成に問題がある可能性があると思います。

どんな助けでも大歓迎です、
ありがとう!

4

1 に答える 1