mysql docker镜像支持从一开始就创建多个数据库

t9aqgxwy  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(578)

我需要在一个服务启动时创建数据库。f、 e.:服务:

db:
    image: percona:5.7.24-centos
    ports:
      - '3306:3306'
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: db1
      MYSQL_DATABASE_1: db2
      MYSQL_PASSWORD: password
    network_mode: "host"

但不幸的是,使用image/environment变量只支持一个: MYSQL_DATABASE .
我在docker compose里用这个
我能求助吗?

nue99wik

nue99wik1#

因此,编写自己的dockerfile并将sql脚本复制到映像上,该脚本将创建一个新的数据库。像下面这样

FROM mysql

ENV MYSQL_DATABASE=test \
    MYSQL_ROOT_PASSWORD=password \

ADD yourscript.sql /docker-entrypoint-initdb.d/ 

EXPOSE 3306

所以里面所有的伤口 /docker-entrypoint-initdb.d/ 将在容器启动时执行。实际上,您的第二个数据库创建脚本将进入 yourscript.sql 它将在容器启动时执行
可以使用以下命令生成图像 docker build -t masterdanny/percona:5.7.24-centos 然后在docker compose文件中使用新图像
干杯。如果你有任何问题,请告诉我。

相关问题