すべてのプロダクト
Search
ドキュメントセンター

Simple Application Server:Dockerアプリケーションイメージを使用したDockerのデプロイ

最終更新日:Dec 24, 2024

このトピックでは、Alibaba Cloudが提供するDockerアプリケーションイメージを使用して、シンプルなアプリケーションサーバーにDocker環境をデプロイする方法について説明します。また、Dockerを使用してNGINXコンテナを起動する方法についても説明します。

説明
  • シンプルなアプリケーションサーバーを作成した場合、次のいずれかの方法でDockerをデプロイできます。

    • Dockerを手動でデプロイします。詳細については、Dockerのデプロイをご参照ください。

    • シンプルなアプリケーションサーバーをリセットし、Dockerアプリケーションイメージを選択してDockerをデプロイします。リセット操作を実行すると、シンプルなアプリケーションサーバーに接続されているディスクからデータが消去されることにご注意ください。データ損失を防ぐために、リセット操作を実行する前にディスクデータをバックアップしてください。詳細については、シンプルなアプリケーションサーバーのリセットをご参照ください。

  • Dockerの詳細については、Dockerとはをご参照ください。

Dockerのデプロイ

  1. シンプルなアプリケーションサーバーコンソールにログオンします。

  2. 左側のナビゲーションペインで、サーバーをクリックします。

  3. サーバーページの左上隅で、サーバーの作成をクリックします。

  4. シンプルなアプリケーションサーバーページで、ビジネス要件に基づいてパラメータを設定します。

    次の表にパラメータを示します。

    パラメータ

    説明

    リージョン

    ビジネスの地理的な場所に基づいてリージョンを選択します。シンプルなアプリケーションサーバーの作成後、リージョンを変更することはできません。慎重に行ってください。

    重要

    中国本土以外のリージョン(中国(香港)、シンガポールなど)にあるシンプルなアプリケーションサーバーに、中国本土内のリージョンからアクセスすると、ネットワークレイテンシが高くなる可能性があります。アクセスを高速化するには、エンドユーザーの地理的な場所に最も近いリージョンを選択することをお勧めします。詳細については、リージョンとネットワーク接続をご参照ください。

    中国(香港)

    イメージ

    アプリイメージタブで、Dockerを選択します。

    image

    • タイプ:アプリイメージ

    • アプリケーション:Docker 26.1.3

    インスタンスプラン

    ビジネス要件に基づいてプランを選択します。プランを超えるインターネット経由のアウトバウンドデータ転送には追加料金が発生します。課金ルールの詳細については、課金概要をご参照ください。

    $3.5/月

    データディスク

    ビジネス要件に基づいて、シンプルなアプリケーションサーバーに接続するデータディスクのサイズを指定します。このパラメータはオプションです。

    重要

    シンプルなアプリケーションサーバーの作成後にデータディスクを使用するには、データディスク上にパーティションとファイルシステムを作成する必要があります。

    0GB

    契約期間

    シンプルなアプリケーションサーバーの契約期間を選択します。ビジネス要件に基づいて、自動更新を選択できます。

    1か月

    数量

    購入するシンプルなアプリケーションサーバーの数を指定します。デフォルト値:1。1つのリージョンに最大20台のシンプルなアプリケーションサーバーを作成できます。

    1

  5. 今すぐ購入をクリックします。

    画面の指示に従って支払いを完了します。シンプルなアプリケーションサーバーのステータスが保留中から実行中に変わると、シンプルなアプリケーションサーバーにDocker環境がデプロイされます。

    image

  6. (条件付き必須)シンプルなアプリケーションサーバーの作成時にデータディスクを接続した場合、ディスクを使用する前に、ディスク上にパーティションとファイルシステムを作成する必要があります。詳細については、データディスクのパーティション分割とフォーマットをご参照ください。

Dockerの使用

  1. シンプルなアプリケーションサーバーコンソールにログオンします。

  2. 左側のナビゲーションペインで、サーバーをクリックします。

  3. サーバーページで、Dockerアプリケーションイメージから作成したシンプルなアプリケーションサーバーを見つけて、サーバーIDをクリックします。

  4. アプリケーションの詳細タブをクリックして、Dockerの使用手順、Docker情報、およびアプリケーションのインストール情報を表示します。

    image

  5. Dockerの使用手順セクションで、シンプルなアプリケーションサーバーにログオンします。をクリックします。

  6. リモート接続ダイアログボックスで、今すぐログオンをクリックします。

  7. 作成したシンプルなアプリケーションサーバー内でDockerを使用します。

    次の例では、DockerはNGINXイメージをプルし、NGINXコンテナを起動します。

    1. 次のコマンドを実行して、検索されたNGINXイメージの中から最新のNGINXイメージをシンプルなアプリケーションサーバーにプルします。

      sudo docker pull nginx
    2. 次のコマンドを実行して、サーバー上の既存のDockerイメージをクエリします。

      sudo docker images

      次の図に示すコマンド出力が返された場合、最新のNGINXイメージがシンプルなアプリケーションサーバーにプルされています。

      image

    3. 次のコマンドを実行して、NGINXコンテナを作成し、バックグラウンドでコンテナを実行します。NGINXコンテナがサーバーのポート80を使用するように設定します。

      sudo docker run --name <コンテナエイリアス> -- network host -d <イメージ名> (リポジトリ)

      この例では、イメージ名はnginxに設定され、コンテナエイリアスはnginx-test01に設定されています。コマンド例:

      sudo docker run --name nginx-test01 --network host -d nginx
      説明

      docker imagesコマンドを実行して、イメージ名をクエリできます。

    4. 次のコマンドを実行して、コンテナをクエリします。

      sudo docker ps

      コマンド出力例:

      image

    5. コンピューターのブラウザを使用して、<シンプルなアプリケーションサーバーのパブリックIPアドレス>にアクセスします。

      次のページが表示された場合、NGINXコンテナは想定どおりにデプロイされています。NGINXコンテナにアクセスできない場合は、次の解決策を使用してください。

      • シンプルなアプリケーションサーバーでポート80が無効になっている場合は、ポート80を有効にします。詳細については、ファイアウォールの管理をご参照ください。

      • DockerのCIDRブロックが内部CIDRブロックと競合する場合は、DockerのデフォルトCIDRブロックを変更します。詳細については、FAQをご参照ください。

      nginx

FAQ

問題の説明

デフォルトでは、Dockerの起動時にdocker0ブリッジが作成されます。docker0ブリッジのCIDRブロックが内部eth0のCIDRブロックと競合する場合、NGINXコンテナにアクセスできない可能性があります。

解決策

  1. 次のコマンドを実行して、docker0とeth0のCIDRブロックが競合しているかどうかを確認します。

    route -n

    次の図に示すコマンド出力が返された場合、docker0とeth0のCIDRブロックが競合しています。

    image

  2. 次のコマンドを実行して、Dockerを停止します。

    sudo systemctl stop docker
  3. 次のコマンドを実行して、/etc/docker/daemon.jsonファイルを開きます。

    sudo vim /etc/docker/daemon.json

    Iキーを押して挿入モードに入り、次のCIDRブロック情報をファイルに追加します。

    {
    "bip":"100.10.XX.XX/24"
    }
    説明

    100.10.XX.XXはCIDRブロックを示します。値をeth0 CIDRブロックとは異なるCIDRブロックに置き換えます。

    Escキーを押して、:wqと入力し、Enterキーを押してファイルを保存して閉じます。

  4. 次のコマンドを実行して、構成ファイルをリロードします。

    sudo systemctl daemon-reload
  5. 次のコマンドを実行して、Dockerを起動します。

    sudo systemctl start docker
  6. 次のコマンドを実行して、変更が有効になっているかどうかを確認します。

    route

    次の図に示すコマンド出力が返された場合、docker0のCIDRブロックは想定どおりに変更されています。NGINXコンテナに再度アクセスできます。

    image