Dockerfile でのデータベースのセットアップとデータ インポートのトラブルシューティング
LAMP プロジェクトの Dockerfile の作成は、特に MySQL に関連するエラーが発生した場合に困難になることがあります。セットアップとデータのインポート。この記事では、MySQL をセットアップし、Dockerfile コマンドを使用してダンプをインポートするときに直面する一般的な問題について説明します。
提供される Dockerfile には、MySQL のセットアップとデータの読み込みに必要ないくつかのコマンドが含まれています。ただし、エラー メッセージは、ローカル MySQL サーバーに接続できないことを示します。この問題を解決するには、以下の解決策で概説されているアプローチを採用できます。
データ インポートで Docker イメージを使用する解決策
公式 MySQL Docker イメージの最新バージョンは、起動時にデータをインポートするための便利なソリューションを提供します。提供された docker-compose.yml 構成を使用すると、指定した SQL ファイルからデータをインポートできます:
data: build: docker/data/. mysql: image: mysql ports: - "3307:3306" environment: MYSQL_ROOT_PASSWORD: 1234 volumes: - ./docker/data:/docker-entrypoint-initdb.d volumes_from: - data
この構成では、data-dump.sql は docker/data ディレクトリーの下に配置されます。このディレクトリは、MySQL コンテナ内の /docker-entrypoint-initdb.d にマウントされます。
MySQL イメージ内の docker-entrypoint.sh スクリプトには、.sql 拡張子を持つファイルを解析し、ファイルを次のように実行するブロックが含まれています。 MySQL データベースに対する SQL クエリ。これにより、コンテナの起動時にデータのインポートが有効になります。
データの永続性の確保
MySQL コンテナを停止して削除した後でもデータの永続性が必要な場合は、別個のデータコンテナ。データ コンテナの Dockerfile はシンプルです:
FROM n3ziniuka5/ubuntu-oracle-jdk:14.04-JDK8 VOLUME /var/lib/mysql CMD ["true"]
データ コンテナを MySQL コンテナにマウントすることで、MySQL コンテナが停止してもデータは保持されます。永続化のためにデータ コンテナを実行する必要はないことに注意してください。
以上がDocker 化された LAMP プロジェクトでの MySQL セットアップおよびデータ インポート エラーのトラブルシューティング方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。