首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在google cloud build上正确初始化mysql数据库(使用docker-compose

无法在google cloud build上正确初始化mysql数据库(使用docker-compose
EN

Stack Overflow用户
提问于 2019-10-21 23:33:22
回答 1查看 193关注 0票数 1

我目前正在使用Google Cloud Build为我的应用程序(django)设置一个构建/测试管道(并使用cloud-build-local进行测试)。

为了正确运行测试,我需要启动一个mysql依赖项(为此我使用docker-compose )。问题是,当在云构建步骤中运行docker-compose时,数据库初始化脚本没有正确运行,我得到一个

代码语言:javascript
复制
/usr/local/bin/docker-entrypoint.sh: running /docker-entrypoint-initdb.d/0-init.sql
ERROR: Can't initialize batch_readline - may be the input source is a directory or a block device.

(在google-cloud-build中运行docker-compose可以正常工作)

这是我的docker-compose文件:

代码语言:javascript
复制
version: '3.3'
services:
  mysql:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: 'dev'
      MYSQL_USER: 'dev'
      MYSQL_PASSWORD: 'dev'
      MYSQL_ROOT_PASSWORD: 'root'
    ports:
      - '3306:3306'
    expose:
      - '3306'
    volumes:
      - reports-db:/var/lib/mysql-reports
      - ./dev/databases/init.sql:/docker-entrypoint-initdb.d/0-init.sql
      - ... (other init scripts) 
volumes:
  reports-db:

cloudbuild.yaml

代码语言:javascript
复制
steps:
...
- id: 'tests-dependencies'
  name: 'docker/compose:1.24.1'
  args: ['up', '-d']
...

文件的组织方式如下:

代码语言:javascript
复制
parent_dir/
   dev/
      databases/
         init.sql
   cloudbuild.yaml
   docker-compose.yml
   ...

(所有命令都从parent_dir/运行)

当我跑的时候

代码语言:javascript
复制
cloud-build-local --config=cloudbuild.yaml --dryrun=false .

我得到了一个

代码语言:javascript
复制
...
Step #2 - "tests-dependencies": mysql_1  | /usr/local/bin/docker-entrypoint.sh: running /docker-entrypoint-initdb.d/0-init.sql
Step #2 - "tests-dependencies": mysql_1  | ERROR: Can't initialize batch_readline - may be the input source is a directory or a block device.
...

知道直接运行docker-compose up可以正常工作

我怀疑卷的挂载方式不正确,但找不到原因/如何挂载。

如果有人对此有任何意见,这将是非常有用的:)

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-01-10 02:55:43

看起来这是一个cloud-build-local特有的问题,在GCP上可以正常工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58489584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档