Docker -- Web アプリケーションとコンテナーの接続操作を構築する

5. Dockerを使用してWebアプリケーションを構築する

  1. Web アプリケーションを実行する

    1. イメージをロードします: docker pull tr​​aining/webapp

    2. コンテナーを作成します: docker run -d -P training/webapp python app.py 

      1. -d: コンテナをバックグラウンドで実行します。

      2. -P: コンテナ内で使用されるネットワーク ポートを、使用するホストにランダムにマップします。

  2. Web アプリケーションとコンテナーを表示する

    1. -P は、ホスト ポートを表示するための追加の PORTS ポートを追加します。

    2. ブラウザ経由でWEBアプリケーションにアクセス可能(ホストIP:ホストポート)

    3. -p パラメーターを使用して別のポートを設定することもできます (ホスト ポートは 4000 に設定されます): docker run -d -p 4000:5000 training/webapp python app.py

  3. ネットワークポートのクエリ

    1. コンテナポートからホストにマッピングされたポート番号を表示します: docker port (CONTAINER ID)

  4. WEBアプリケーションのログを表示する

    1. docker logs -f (コンテナID)

  5. WEBアプリケーションコンテナのプロセスを確認する

    1. dockerトップ(コンテナID)

  6. WEB申込みを確認する

    1. docker Inspection(コンテナID)

  7. WEBアプリケーションを停止する

    1. docker stop(コンテナID)

  8. WEBアプリケーションコンテナを再起動する

    1. docker start(コンテナID)

    2. docker restart(コンテナID)

  9. WEBアプリケーションコンテナの削除

    1. コンテナを削除するときは、コンテナが停止状態である必要があります。そうでない場合は、次のエラーが報告されます: docker rm (CONTAINER ID)

    2. -f: docker rm -f (CONTAINER ID) を追加することで、実行中のコンテナを強制的に削除することもできます。

6. コンテナ接続

  1. ネットワーク ポート マッピング。abc はブラウザ経由でコンテナにアクセスできます。さらに、docker では、ifconfig 経由で IP を表示し、その IP 経由で他の Docker にアクセスできます。
    1. docker run -d -P training/webapp python app.py
      1. -P は、ホスト ポートにランダムにマッピングされたコンテナの内部ポートです。
    2. docker run -d -p 4000:5000 トレーニング/webapp python app.py
      1. -p は、指定されたホスト ポートにバインドされたコンテナの内部ポートです。
    3. 127.0.0.1 をバインドするなど、コンテナがバインドされるネットワーク アドレスを指定できます。
      1. docker run -d -p 127.0.0.1:5001:5000 training/webapp python app.py
    4. Docker のトランスポート層プロトコルを変更 (tcp→udp)
      1.  docker run -d -p 127.0.0.1:5002:5000/udp training/webapp python app.py
  2. Dockerコンテナ相互接続
    1. 新しい Docker ネットワークを作成します: docker network create -d Bridge (ネットワーク名)
    2. コンテナーを実行し、新しく作成したネットワークに接続します: docker run -itd --name test1 --network test-net debian /bin/bash (注: debian イメージを使用します。ubuntu イメージは ping と vim をインストールできません)
    3. 2 番目のコンテナーを作成し、新しく作成したネットワークに接続します: docker run -itd --name test2 --network test-net debian /bin/bash
    4. 2 つのコンテナ (コンテナ名) で相互に ping できます
  3. DNSの構成
    1. すべてのコンテナに DNS を構成する
      1. ホストの /etc/docker/daemon.json ファイルを変更する
        1. 
          { 
            "dns" : [ 
              "114.114.114.114", 
              "8.8.8.8" 
            ] 
          }
      2. 再起動すると有効になります
    2. コンテナのDNS情報を出力します: docker run -it --rm (ミラー名) cat /etc/resolv.conf
    3. 指定したコンテナーに DNS を手動で設定します: docker run -it --rm -h (コンテナーのホスト名) --dns=114.114.114.114 --dns-search=test.com debian
      1.  --rm: コンテナの終了時にコンテナ内のファイル システムを自動的にクリーンアップします。
      2. -h HOSTNAME または --hostname=HOSTNAME: コンテナーのホスト名を設定します。これは、コンテナー内の /etc/hostname および /etc/hosts に書き込まれます。

      3. --dns=IP_ADDRESS: DNS サーバーをコンテナの /etc/resolv.conf に追加し、コンテナがこのサーバーを使用して /etc/hosts にないすべてのホスト名を解決できるようにします。

      4. --dns-search=DOMAIN: コンテナの検索ドメインを設定します。検索ドメインが .example.com に設定されている場合、host という名前のホストを検索するときに、DNS は host だけでなく host.example.comも検索します。 。

おすすめ

転載: blog.csdn.net/xch622114/article/details/130854861