在CircleCI中复制MySQL配置的Docker-compose问题

时间:2018-10-20 19:01:36

标签: mysql docker docker-compose circleci

以下内容在本地计算机上可以正常运行,但在检入CircleCI时失败:

mysql:
  image: mysql:5.7
  ports:
    - 3306:3306
  environment:
    - MYSQL_ALLOW_EMPTY_PASSWORD=true
    - MYSQL_ROOT_HOST=%
  restart: always
  volumes:
    - ./docker/mysql/mysqld.cnf:/etc/mysql/conf.d/mysql.cnf

检出的项目下../docker/mysql/mysqld.cnf中有一个文件。

CircleCi上显示的错误是:

  

错误:对于proj-server_mysql_1无法启动服务mysql:b'oci   运行时错误:container_linux.go:265:启动容器进程   引起“ process_linux.go:368:引起容器初始化   \“ rootfs_linux.go:57:安装   \\\“ / home / circleci / max / proj-server / docker / mysql / mysqld.cnf \\\”   到rootfs   \\\“ / var / lib / docker / aufs / mnt / 4a9af90d342b491ae92af5a88360d2e34fce0d21c15f8a648767e89fb51aa \\\”   在   \\\“ / var / lib / docker / aufs / mnt / 4a9af90d342b491ae92af5a88360d2e34fce0d21c15f8a648767e89fb51aa / etc / mysql / conf.d / mysql.cnf \\\”   导致\\\“不是目录\\\”“ \”“ \ n:您是否要挂载   目录到文件上(反之亦然)?检查指定的主机   路径存在,并且是预期的类型'

1 个答案:

答案 0 :(得分:1)

  

不可能与docker executor一起使用卷挂载,但是通过使用机器执行器,可以将本地目录挂载到正在运行的Docker容器中。您可以了解有关机器执行器here on our docs page的更多信息。

https://support.circleci.com/hc/en-us/articles/360007324514-How-can-I-mount-volumes-to-docker-containers-