sql >> データベース >  >> RDS >> Mysql

1つのmysqlデータベースコンテナでDockerコンテナの2つのインスタンスを実行することは可能ですか?

    うまくいけば、これらの解釈の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) 
    

    これがお役に立てば幸いです。




    1. モーダルで現在の行の値を渡す方法は?

    2. mysqlで月番号の代わりに月名を表示する

    3. マルチスレッドアプリケーションでのlibmysqlclientの使用

    4. Python / MySQLコンボに最適なエスケープ文字戦略は何ですか?