うまくいけば、これらの解釈の1つが正しいです。
すべてが単一のデータボリュームを共有する異なるコンテナで複数のmysqlデーモンを実行できますか?
いいえ、競合を避けるために、各デーモンには個別のデータディレクトリが必要です。共有ボリュームに複数のデータディレクトリを配置することもできますが、その結果、複数の完全に別個のデータベースが作成されます。 -ソース
接続する複数のコンテナを実行できますか 単一のmysqlデータベースコンテナに?
はい、複数のコンテナを単一のデータベースコンテナに接続することは可能ですが、ボリュームを共有することはできません。コンテナZはmysqlデーモンを実行し、他のコンテナはtcpソケットを介してデーモンに接続できます。 公式のmysqlリポジトリ readmeには開始するための手順があります:
最初にコンテナZを起動します。
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=mysecretpassword -d mysql
次に、データベースに接続する他のコンテナを次のように実行します。
docker run --name webservera --link some-mysql:mysql -d application-that-uses-mysql
--link
のドキュメント フラグ
。コンテナリンクは、リンクエイリアスのhostfileエントリを追加するため、アドレスを手動で見つける必要はありません。 Webサーバーのデータベース構成は次のようになります
jdbc:mysql://address=(protocol=tcp)(host=mysql)(port=3306)(user=root)(password=mysecretpassword)
これがお役に立てば幸いです。