MySQL Dockerインスタンスのスキーマを初期化しようとしたときに同じ問題が発生しましたが、グーグルを実行して他の例を実行した後、これを機能させるのに問題が発生しました。これが私がそれを解決した方法です。
1)MySQLスキーマをファイルにダンプします。
mysqldump -h <your_mysql_host> -u <user_name> -p --no-data <schema_name> > schema.sql
2)ADDコマンドを使用して、スキーマファイルを/docker-entrypoint-initdb.d
に追加します。 Dockerコンテナ内のディレクトリ。 docker-entrypoint.sh
fileは、".sql"
で終わるこのディレクトリ内のすべてのファイルを実行します MySQLデータベースに対して。
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)DockerMySQLインスタンスを起動します。
docker-compose build
docker-compose up
MySQLのセットアップと内でのダンプのインポートに感謝しますDockerfile docker-entrypoint.shと、SQLスクリプトとシェルスクリプトの両方を実行しているという事実を教えてくれました!