Docker 连接到CircleCI管道中的数据库
合并拉取请求后,circleCI管道到CI/CD有问题,这是我的config.ymlDocker 连接到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
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”,以便它可以使用网络进行连接。