gpt4 book ai didi

docker - 运行放置在dockervolumen中的sql脚本

转载 作者:行者123 更新时间:2023-12-02 09:11:47 25 4
gpt4 key购买 nike

在我的 docker-compose.yml 中,我将 init.sql 放入了volumen中。

version: '3'
services:
mysqldb:
image: mysql:5.7.22
container_name: mysql
restart: always
ports:
- "3306:3306"
volumes:
- ./init.sql:/docker-entrypoint-initdb.d/1-init.sql

我知道我应该通过 Dockerfile 文件运行这个脚本。我怎样才能实现这个目标?

最佳答案

official Docker mysql image当数据库首次初始化时,将运行 /docker-entrypoint-initdb.d 中存在的所有内容(请参阅该页面上的“初始化新实例”)。由于您使用卷将其注入(inject)到容器中,因此如果数据库尚不存在,您的脚本将在您拥有数据库时自动运行。

该页面还建议创建自定义 Docker 镜像。 Dockerfile 会非常短

FROM mysql:5.7.22
COPY init.sql /docker/entrypoint-initdb.d/1-init.sql

一旦您构建了修改后的镜像,您就不需要本地脚本的副本即可在首次启动时运行它。

关于docker - 运行放置在dockervolumen中的sql脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51233350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com