Docker について質問があります。現在、仮想ホストが構成された異なるフォルダー内の異なるサイトで Apache を実行しています。次に、名前ベースのルーティングで複数の Docker コンテナーを実行したいと考えています。どのようにすればよいですか? 各コンテナーを独自のポートで実行し、Apache を使用して 80 または 443 をコンテナーのポートに転送するというアイデアがあります。しかし、これは大きなパフォーマンスの問題になると思いますし、構成方法もわかりません。よろしくお願いします。
答え1
各仮想ホストに対して Apache を実行すると、特にバディ サイトではメモリ消費量と CPU 使用率が高くなります。
Docker はデプロイメントの問題の解決に多少役立ちます。
PHP を使用する仮想ホストと Tomcat/Java を使用する仮想ホストなど、各仮想ホストごとに異なる設定を行う予定の場合に便利です。
各ホストをコンテナ内に配置する場合は、各ホストに IP アドレスを割り当てる必要があります。DNS でホスト名を設定し、それぞれの IP を指すようにすることができます。
ポート転送やリバース プロキシを行う必要はありません。各 Apache インスタンスに VM があると考えてください。各 Apache がコンテナーになります。コンテナーが何か他のものを実行するように明示的に構成しない限り、コンテナー内では他のものは実行されません。
単一の外部 IP を使用する場合は、コンテナの前面にあるリバース プロキシを使用できます。