データがすでに入力されているMySQL Dockerイメージを作成したいとします。作成済みのMySQL Dockerイメージを作成する方法
は、私はこのような3層を作成したい:
|---------------------|---------------------|
Layer 3 | Customer 1 Database | Customer 2 Database |
|---------------------|---------------------|
Layer 2 | Database image with tables but no data |
|-------------------------------------------|
Layer 1 | mysql:5.6.26 |
|-------------------------------------------|
私の質問は、レイヤ2および3のための正しいDockerfileを作成する方法を、今ありますか? 私のempty_with_tables.sqlファイルがレイヤー2にロードされ、customer1.sqlとcustomer2.sqlがレイヤー3の2つのイメージにロードされます。私はSQLファイルを '/docker-entrypoint-initdb.d'に置くことについて何かを読んでいます。しかし、これは、画像が最初に開始されるときのデータをもたらす。これは私が望むものではありません。私は、データが画像の中に用意されていることを望んでいます(例えば、テストですぐに利用できるように)。
私はmysqlイメージを起動し、コマンドラインからデータをロードして 'コミット'することができますが、これは再現性がなく、SQLファイルのデータが変更されたときに再実行する必要があります。
どうすればいいですか?
敬具、
- モーテン・グリーンHermansenの
を参照してください。私もそれをやりたいです。 – Telokis
@Morten Green時間をかけて仕事を分けてください。私たちはお互いに助け合っています。 – Dung