ドッキングステーションを使用した複数のドメインサービス


今日はあなたの既存の日で、プロジェクトはすでに成熟しているようで、配置のために道を舗装したいと思っています.導入は、ラボのサーバコンピュータを使用することを決定します.ドッキングステーションがインストールされているため、サーバは1台のコンピュータに複数のプロジェクトを導入できるようです.
次にapacheサーバを使用して1台のコンピュータ上で複数のプロジェクトを実行する方法と、ドッキングステーションの使用方法について説明します.参考にしたブログは以下の通りです.
  • https://tyson.tistory.com/133
  • リバースエージェントはなぜ使用されますか?
  • https://jungin.tistory.com/4
  • Docker逆エージェントの概念と**nginx.conf**について説明しました.
  • https://blog.youngbin.kim/2017/07/10/docker-使用-仮想-ホスト-仮想-ホスト-配置-サブドメイン-接続/
  • docker逆エージェントの動作を理解しました.
  • https://graycha.tistory.com/213
  • 新しいサービスをVIRTUAL HOSTとともに追加すると、既存の逆プロキシコンテナが再起動される可能性があります.しかし、以上のブログの動作から見ると、必ずしも再開する必要はありません.
  • Docker Reverse Proxy
    https://hub.docker.com/r/jwilder/nginx-proxy
    上の画像で行います.これはダックの公式イメージではなく、イメージに関する安全問題から自由になることはできないが、プロジェクト規模が小さく、リスクが大きくなく、イメージを直接作るよりも資源が少ないようなので、直接使うことにした.
    また、docker-composeは、次のような正式な使い方を提供しています.
    version: '2'
    
    services:
      nginx-proxy:
        image: jwilder/nginx-proxy
        ports:
          - "80:80"
        volumes:
          - /var/run/docker.sock:/tmp/docker.sock:ro
    
      whoami:
        image: jwilder/whoami
        environment:
          - VIRTUAL_HOST=whoami.local
    上記のコンパイルファイルを解析する場合,コンテナネットワークは個別に設定されていないがdefaultネットワークであるため,2つのサービスコンテナ間で接続が構成されている.nginx-proxyサービスコンテナはproxy用のコンテナであり、80番ポートに入るすべてのリクエストがこのコンテナに入ります.whoamiサービス容器は実験容器,whoamiである.localという名前のドメイン名リクエストを受け入れるように設定します.
    しかし、私が使いたいのは少し違います.前述したように、サービスを追加するたびに、新しいdocker-compositeファイルを変更する必要があるというトラブルがあります.従って、以下のように交換して使用します.
    Docker-compose file
    version: '3'
    
    services:
      nginx-proxy:
        image: jwilder/nginx-proxy
        ports:
          - "80:80"
        volumes:
          - /var/run/docker.sock:/tmp/docker.sock:ro
        restart: always
        networks: 
          - proxy                                             
    
    networks:
      proxy:
        driver: bridge
    nginx-proxyコンテナは、proxyのコンテナのみを実行し、ネットワークをproxtに構成します.コンテナは1つしか実行されないので、コマンドでしか実行できませんが、ドキュメントとして管理するとより良いかもしれませんので、必ず組み合わせとして使用してください.
    次に、サービスを追加するときに次のように使用します.
    Run Project Container
    docker run -dit --name nginx-test -e VIRTUAL_HOST=yourday.kro.kr --network reverseproxy_proxy nginx:alpine
    この2つのオプションを使用して、nginx-testというコンテナにyourday.kro.krドメインを送信できます.
    VIRTUAL_HOST=yourday.kro.kr
    —network reverseproxy_proxy
    ドッキングステーションのネットワークを表示するには、次のように入力します.
    docker network ls
    上記のようにcommandを入力して実行することもできますが、以下のようにcompose fileを使用して実行することもできます.でもだめかもしれない
    version: '2'
    
    services:
      frondEnd:
        image: jwilder/whoami
    
      backEnd:
        image: jwilder/whoami
        environment:
          - VIRTUAL_HOST=yourday.kro.kr
    		networks:
    			- reverseproxy_proxy
    以下に示すように、正常に動作していることがわかります.

    文章の最後に、このようにすれば、サービスごとにサーバのhttpポートを開く必要がなく、セキュリティも悪くないと思います.