在 Docker 容器中使用架构初始化 MySQL 数据库可能具有挑战性。以下是解决此问题的解决方案:
1.转储 MySQL 架构
使用以下命令将 MySQL 架构转储到文件:
mysqldump -h <your_mysql_host> -u <user_name> -p --no-data <schema_name> > schema.sql
2.将架构文件添加到 Dockerfile
在 Dockerfile 中,使用 ADD 命令将架构文件添加到 /docker-entrypoint-initdb.d 目录。容器中的 docker-entrypoint.sh 脚本将针对数据库执行此目录中的任何 .sql 文件。
示例 Dockerfile:
FROM mysql:5.7.15 MAINTAINER me ENV MYSQL_DATABASE=<schema_name> \ MYSQL_ROOT_PASSWORD=<password> ADD schema.sql /docker-entrypoint-initdb.d EXPOSE 3306
3.构建并运行 Docker 容器
修改 Dockerfile 后,构建并运行容器:
docker-compose build docker-compose up
4.附加说明
按照以下步骤,您可以在 Docker 容器内成功初始化具有 schema 的 MySQL 数据库,并消除 CMD 无法正常执行的问题。
以上是如何在 Docker 容器内使用架构初始化 MySQL 数据库?的详细内容。更多信息请关注PHP中文网其他相关文章!