docker-compose:MySQL服务未运行

时间:2019-04-15 12:33:08

标签: mysql docker docker-compose

我想创建一个结合了自定义Maven环境,特定运行时环境和mysql服务器运行时的docker-compose文件。 撰写文件如下所示:

version: '3.7'
services:
  mysql:
    image: mysql:5.7.25
    command: --default-authentication-plugin=mysql_native_password
    environment:
      MYSQL_DATABASE: dbname
      MYSQL_USER: dbuser
      MYSQL_ROOT_PASSWORD: dbpass
    volumes:
      - ./mysql:/tmp

  maven:
    build: 
      context: ./maven
      args:
        git_user: gituser
        git_pw: gitpw
    command: tail -F anything

  runtime:
    image: custom_dockerhub_image
    links:
      - "mysql:db"
      - "maven:mav"
    volumes:
      - ./:/tmp
    command: tail -F anything

所有服务都已启动并且正在运行,并且每个卷都被绑定。我想在mysql容器中运行特定的mysql脚本来设置数据库。我第一次手动尝试就是使用

docker-compose run mysql mysql --user="dbuser" --password="dbpass" < "mysql/01_schema.sql"

我得到的唯一答复是

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

我还尝试使用

docker-compose run mysql service mysql start && mysql --user="dbuser" --password="dbpass" < "mysql/01_schema.sql"

结果是

..
[info] MySQL Community Server 5.7.25 is started.
zsh: command not found: mysql

我无法让mysql服务器留下来。

1 个答案:

答案 0 :(得分:3)

您应该改用docker-compose execdocker-compose run在新容器中运行命令。