Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有MySQL php\u网络\u getaddresses的Bitbucket管道Laravel_Laravel_Docker_Pdo_Bitbucket_Bitbucket Pipelines - Fatal编程技术网

具有MySQL php\u网络\u getaddresses的Bitbucket管道Laravel

具有MySQL php\u网络\u getaddresses的Bitbucket管道Laravel,laravel,docker,pdo,bitbucket,bitbucket-pipelines,Laravel,Docker,Pdo,Bitbucket,Bitbucket Pipelines,我使用php7.2-fpm-stretch docker image和MySQL作为附加服务。以下命令成功运行: mysql -h 127.0.0.1 -u username -ppassword 但是,当composer想要运行包:discover时,它会出现以下错误: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known .env文件具有以下数据库配置:

我使用php7.2-fpm-stretch docker image和MySQL作为附加服务。以下命令成功运行:

mysql -h 127.0.0.1 -u username -ppassword
但是,当composer想要运行
包:discover
时,它会出现以下错误:

SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known
.env
文件具有以下数据库配置:

DB_HOST=127.0.0.1
DB_CONNECTION=127.0.0.1
DB_DATABASE=pipeline
DB_USERNAME=username
DB_PASSWORD=password
我的yml文件如下:

image: php:7.2-fpm-stretch

pipelines:
  default:
    - step:
        caches:
          - composer
        script:
          - apt-get update && apt-get install -qy git unzip mysql-client
          #Some other non-related configuration
          - composer install
          - php artisan key:generate
        services:
          - mysql
definitions:
  services:
    mysql:
      image: mysql:5.7
      environment:
        MYSQL_DATABASE: 'pipeline'
        MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
        MYSQL_USER: 'username'
        MYSQL_PASSWORD: 'password'

不知道bitbucket管道,但我猜2个映像最终将启动2个容器,
DB_HOST=127.0.0.1
如何能够用于从一个容器到另一个容器的连接,因为它们总共是2个实例?只是猜测而已。除非bitbucket管道具有将2个图像合并到1个容器的魔力。。。那真是太神奇了!呃,也许它可以定义一些网络,就像k8s吊舱,像吊舱里的容器在"逻辑主机"上运行,;它们使用相同的网络名称空间(换句话说,相同的IP地址和端口空间)。如果bitbucket管道也这样做了,请忘记这一点……是的,因为bitbucket本身有文档,其中提到使用127.0.0.1访问mysql连接的服务。你有没有发现这一点?是的,忘记发布答案。您应该确保bitbucket管道env变量和.env文件变量具有不同的名称。如果这对你有帮助,请让我知道,我将其作为其他人的答案发布。如果bitbucket环境变量与.env变量同名,请重命名它们。