[解決済み] Dockerコンテナで複数のプログラムを実行できますか?
質問
私は、ユーザーのデスクトップ上で実行することを目的としたアプリケーションをデプロイする点から、Dockerについて理解しようとしています。私のアプリケーションは、単純にflaskのウェブアプリケーションとmongoデータベースです。通常、私は両方をVMにインストールし、ゲストウェブアプリケーションにホストポートを転送します。Dockerを試してみたいのですが、複数のプログラムをどのように使用するのかよくわかりません。ドキュメントにはENTRYPOINTしかないと書いてありますが、Mongoとflaskアプリケーションはどうすればいいのでしょうか?あるいは、別々のコンテナに入れる必要があるのでしょうか。その場合、どのように互いに会話するのでしょうか。また、どのようにしてアプリを簡単に配布できるのでしょうか。
どのように解決するのですか?
ENTRYPOINTは1つだけですが、そのターゲットは通常、必要なだけのプログラムを起動させるスクリプトです。さらに、たとえば スーパービジョン などを使用すると、1つのコンテナ内で複数のサービスを起動することができます。 これは、1つのコンテナ内でmysql、apache、wordpressを動作させているDockerコンテナの例です。 .
例えば、1つのWebアプリケーションで使用するデータベースが1つあるとします。それなら、1つのコンテナで両方を実行する方が簡単でしょう。
複数のアプリケーションで使用される共有データベースがある場合は、データベースを独自のコンテナで実行し、アプリケーションをそれぞれ独自のコンテナで実行する方がよいでしょう。
アプリケーションが異なるコンテナで動作しているときに、互いに通信する方法として少なくとも2つの可能性があります。
- 公開されたIPポートを使用し、それを経由して接続する。
- 最近のDockerのバージョン サポートリンク .
関連
-
kubernetesの後に参加した作業ノードが "NotReady "状態である。
-
[解決済み] Dockerコンテナの中から、マシンのローカルホストに接続するにはどうすればよいですか?
-
[解決済み] Docker Dockerコンテナからホストへのファイルコピー
-
[解決済み] ホストからDockerコンテナにファイルをコピーする方法は?
-
[解決済み] リポジトリを使用せずに、あるホストから別のホストにDockerイメージをコピーする方法
-
[解決済み] ホストからDockerコンテナのIPアドレスを取得する方法
-
[解決済み] Dockerコンテナのシェルに入るにはどうしたらいいですか?
-
[解決済み] 古いDockerコンテナを削除する方法
-
[解決済み】Dockerは仮想マシンとどう違うの?
-
[解決済み】Dockerイメージとコンテナの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Docker: apt-utilsのインストールに問題があります。
-
[解決済み] アルパインイメージでdockerを使ってbashをユーザrootで実行するには? su: suidでないと正常に動作しません。
-
[解決済み] docker ps' と 'docker-compose ps' コマンドで異なる結果が表示される
-
[解決済み] docker の多段ビルド Go イメージ - x509: 証明書は不明な機関によって署名されました。
-
Docker npm getaddrinfo EAI_AGAIN registry.npmjs.org registry.npmjs.org:443
-
httpコード中にdocker registry apiのインタラクションを呼び出す コード詳細
-
エラー:入力デバイスはTTYではありません。
-
minttyを使用している場合は、コマンドの前に'winpty'を付けてみてください。
-
docker make image apt-get install file error debconf: unable to initialize frontend: ダイアログ
-
docker-composeコンテナのマウント権限の問題