gpt4 book ai didi

mysql - 是否存在创建附加卷并执行 sql 脚本的 mysql docker 镜像的方法?

转载 作者:行者123 更新时间:2023-11-29 07:26:18 25 4
gpt4 key购买 nike

我正在尝试在 docker 上使用 MySQL 镜像,附加一个卷,此外我想添加一个 sql 脚本以创建一个表(如果还没有)。因此,如果容器在另一台机器上使用,该表将始终存在。


我的命令:

docker run -d -p 3306:3306 --name my-mysql --network sma -v/scripts:/docker-entrypoint-initdb.d/-v/myvolume/:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=密码 -e MYSQL_DATABASE=myDB mysql

我的情况:我可以在运行期间使用 -v 选项 (/myvolume/:/var/lib/mysql) 附加卷,实际上我还可以将脚本插入 init 目录 (/docker-entrypoint-initdb.d/) 但如果我做这两件事,只有卷附加会起作用。

我猜这类似于脚本被执行(因为它被放置在目录中)但随后 MySQL 被附加的卷覆盖,所以我唯一看到的是 myvolume 中存在的内容。

有什么方法可以做到这一点?

最佳答案

我决定在带有 docker stack deploy -c docker-compose.yml swarm_name 的 docker-compose 群中使用它。

在 docker-compose 的服务定义中,我添加了命令行以强制它执行初始化脚本。

command: --init-file /docker-entrypoint-initdb.d/initDb.sql

关于mysql - 是否存在创建附加卷并执行 sql 脚本的 mysql docker 镜像的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53561401/

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