docker lumen应用程序抛出php\u network\u getaddresses:getaddrinfo失败:名称或服务未知

z9gpfhce  于 2021-06-17  发布在  Mysql
关注(0)|答案(0)|浏览(216)

首先我要说我是docker的新手。我试图用现有的lumen微服务为docker做一个概念验证,但似乎无法让本地的mysql容器正常工作。
运行php artisan migrate时,出现以下错误:
sqlstate[hy000][2002]php\u network\u getaddresses:getaddrinfo失败:名称或服务未知
这是我的docker-compose.yml文件

version: '3.7'

services:
  # Nginx
  web:
    image: nginx:latest
    ports:
      - '8080:80'
    volumes:
      - .:/app
      - .docker/nginx/site.conf:/etc/nginx/conf.d/default.conf
    links:
      - php

  # Database
  db:
    container_name: db
    image: mysql:5.7.24
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    ports:
    - '3306:3306'
    environment:
      MYSQL_ROOT_PASSWORD: local_mysql_password
      MYSQL_DATABASE: partners

  # PHP
  php:
    build: .
    volumes:
      - .:/app
    links:
      - db
    depends_on:
      - db

以及我的php图像dockerfile

FROM php:7.2-fpm

ADD . /app

WORKDIR /app

RUN apt-get update \
 && apt-get install -y git libpng-dev libxml2-dev libzip-dev zip \
 && docker-php-ext-configure zip --with-libzip \
 && docker-php-ext-install \
    pdo_mysql \
    gd \
    zip \
 && curl -sS https://getcomposer.org/installer \
  | php -- --install-dir=/usr/local/bin --filename=composer

RUN composer install

RUN php artisan migrate

我在.env文件中为db连接使用以下命令

DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=partners
DB_USERNAME=root
DB_PASSWORD=local_mysql_password

我试过调整端口、更改服务名称、容器名称、链接/依赖设置,还有一些我现在想不起来的事情。我在这里尝试了多种解决方案,reddit和github,但都没有成功。有什么基本的东西我忽略了吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题