有什么方法可以在mysql docker中创建模式和表,而无需为mysql建立新映像?

时间:2018-12-17 08:52:52

标签: mysql docker docker-compose sql-scripts

我有2张图片。其中一个是自定义的,另一个是mysql。我正在使用docker-compose。其数据库部分如下。

   db:
      image: mysql
      container_name: mysql-docker-test
      volumes:
         - test-sql:/var/lib/mysql
      restart: always
      networks:
         test-net:
            ipv4_address: 172.17.0.5
      ports:
         - "3306:3306"
      environment:
         MYSQL_ROOT_PASSWORD: my_secret_pw

通信没有问题,但是当我docker-compose up时我需要运行sql脚本。

有什么方法可以在docker-compose.yml中运行sql脚本吗?

1 个答案:

答案 0 :(得分:0)

您可以像这样覆盖entrypoint中的commanddocker-compose.yml

db:
  image: mysql
  entrypoint: ./path_to_your_script.sh

在脚本中,您必须启动mysql服务器,然后运行sql脚本。当然,您必须将shell脚本放在一个卷中。