Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.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
Docker 连接到CircleCI管道中的数据库_Docker_Docker Compose_Continuous Integration_Continuous Deployment_Circleci - Fatal编程技术网

Docker 连接到CircleCI管道中的数据库

Docker 连接到CircleCI管道中的数据库,docker,docker-compose,continuous-integration,continuous-deployment,circleci,Docker,Docker Compose,Continuous Integration,Continuous Deployment,Circleci,合并拉取请求后,circleCI管道到CI/CD有问题,这是我的config.yml version: 2.1 orbs: node: circleci/node@3.0.0 jobs: build: docker: - image: cimg/ruby:2.7.1-node - image: circleci/mysql:5.6 environment: MYSQL_ROOT_PASSWORD: root

合并拉取请求后,circleCI管道到CI/CD有问题,这是我的config.yml

version: 2.1
orbs:
  node: circleci/node@3.0.0
jobs:
  build:
    docker:
      - image: cimg/ruby:2.7.1-node
      - image: circleci/mysql:5.6
        environment:
          MYSQL_ROOT_PASSWORD: root
          MYSQL_PORT: 3306
          MYSQL_USERNAME: root
          MYSQL_PASSWORD: root
          MYSQL_DATABASE: root
    steps:
      - checkout
      - run:
          name: install dockerize
          command: wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz && sudo tar -C /usr/local/bin -xzvf dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz && rm dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz
          environment:
            DOCKERIZE_VERSION: v0.3.0
      - run:
          name: Wait for db
          command: dockerize -wait tcp://localhost:3306 -timeout 5m
      - node/install-packages
      - run:
          command: npm run test
启动此管道后,我的测试失败,因为我没有连接到数据库:

[Nest] 263   - 05/05/2021, 10:59:27 PM   [ExceptionHandler] Unable to connect to the database. Retrying (2)... +826ms
Error: getaddrinfo ENOTFOUND db
当我的测试失败时,我的
image:circleci/mysql:5.6
进程还没有完成,我认为这是一个问题

有人能告诉我我做错了什么,为什么我的测试没有连接到数据库(我使用连接测试一些服务)


谢谢你的帮助

没有看你的测试,我只能猜出问题所在。数据库需要通过TCP连接,而不是大多数软件默认使用的本地套接字。在测试中,如果您为DB提供凭据,则可能需要将主机指定为“127.0.0.1”,以便它可以使用网络进行连接。