Docker のクイックスタート

このページでは、Cloud Build を使用して Docker イメージをビルドし、そのイメージを Container Registry に push する方法について説明します。まず Dockerfile を使用してイメージをビルドし、次に同じイメージを Cloud Build ビルド構成ファイルでビルドします。

始める前に

  1. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  2. GCP Console のプロジェクト セレクタのページで、GCP プロジェクトを選択または作成します。

    プロジェクト セレクタのページに移動

  3. Google Cloud Platform プロジェクトに対して課金が有効になっていることを確認します。 詳しくは、課金を有効にする方法をご覧ください。

  4. Cloud Build API を有効にします。

    APIを有効にする

  5. Cloud SDK をインストールして初期化します。

Google Cloud Platform にログインする

  1. gcloud コマンドライン ツールを承認して、プロジェクトにアクセスします。

    gcloud auth login
    
  2. gcloud ツール用のプロジェクトを構成します。ここで、[PROJECT_ID] は、前のセクションで作成または選択した GCP プロジェクト ID です。

    gcloud config set project [PROJECT_ID]
    

ソースファイルの準備

ビルドするサンプル ソースコードが必要です。このセクションでは、簡単な Hello World のサンプルと Dockerfile を作成します。

  1. 次の内容のファイルを quickstart.sh という名前で作成します。

    #!/bin/sh
    echo "Hello, world! The time is $(date)."
    
  2. 次の内容のファイルを Dockerfile という名前で作成します。

    FROM alpine
    COPY quickstart.sh /
    CMD ["/quickstart.sh"]
    
  3. ターミナル ウィンドウを開きます(まだ開いていない場合)。

  4. 次のコマンドを実行して、quickstart.sh を実行可能にします。

    chmod +x quickstart.sh
    

Dockerfile によるビルド

Cloud Build で、Docker イメージを Dockerfile を使用してビルドできます。個別のビルド構成ファイルは不要です。

次のコマンドを、quickstart.shDockerfile があるディレクトリから実行します。ここで、[PROJECT_ID] は GCP プロジェクト ID です。

    gcloud builds submit --tag gcr.io/[PROJECT_ID]/quickstart-image .

ビルドが完了すると、次のような出力が表示されます。

DONE
-------------------------------------------------------------------------------------------------------------------------
ID                                    CREATE_TIME                DURATION SOURCE                                   STATUS
$BUILD_ID                             2016-09-28T13:46:29+00:00  9S    gs://[PROJECT_ID]_cloudbuild/source/1508159187.8-b0d8841d51674a30aebd1e55bb99486f.gz  gcr.io/[PROJECT_ID]/quickstart-image (+1 more)       SUCCESS

Dockerfile で、quickstart-image という名前の Docker イメージをビルドしました。このイメージを Container Registry に push します。

ビルド構成ファイルによるビルド

このセクションでは、ビルド構成ファイルを使用して、上と同じ Docker イメージをビルドします。ビルド構成の指定に基づいて、実行するタスクが Cloud Build に指示されます。

  1. quickstart.shDockerfile があるディレクトリに、cloudbuild.yaml という名前のファイルを作成します。このファイルには以下を含めます。このファイルがビルド構成ファイルです。ビルド時に、Cloud Build が自動的に $PROJECT_ID をプロジェクト ID に置き換えます。

    steps:
    - name: 'gcr.io/cloud-builders/docker'
      args: [ 'build', '-t', 'gcr.io/$PROJECT_ID/quickstart-image', '.' ]
    images:
    - 'gcr.io/$PROJECT_ID/quickstart-image'
    
  2. 次のコマンドを実行してビルドを開始します。

    gcloud builds submit --config cloudbuild.yaml .
    

ビルドが完了すると、次のような出力が表示されます。

DONE
-------------------------------------------------------------------------------------------------------------------------
ID                                    CREATE_TIME                DURATION SOURCE                                   STATUS
$BUILD_ID                             2016-09-28T13:46:29+00:00  8S    gs://[PROJECT_ID]_cloudbuild/source/1508158566.55-725755714baa4b7e9e99984c422ec4e2.gz  gcr.io/[PROJECT-ID]/quickstart-image (+1 more)       SUCCESS

ビルド構成ファイルを使用して quickstart-image をビルドし、イメージを Container Registry に push しました。

ビルドの詳細の表示

  1. Google Cloud Platform Console で Cloud Build ページを開きます。

    Cloud Build ページを開く

  2. プロジェクトを選択し、[開く] をクリックします。

    [ビルド履歴] ページが表示されます。

    ビルド履歴ページのスクリーンショット

  3. 特定のビルドをクリックします。

    [ビルドの詳細] ページが表示されます。

  4. イメージをクリックします。

    イメージリンクのスクリーンショット

    [Container Registry] ページにイメージの詳細が表示されます。

オプション: Docker イメージを実行する

ビルドしたイメージが想定どおりに動作することを確認するため、Docker を使用してイメージを実行できます。

  1. Docker をインストールします

  2. Container Registry とやり取りするときに Container Registry 認証情報を使用するよう、Docker を構成します。

    gcloud auth configure-docker
    

    次のようなメッセージが表示されます。

    The following settings will be added to your Docker config file
    located at [/.docker/config.json]:
    
    {
      "credHelpers": {
        "gcr.io": "gcloud",
        "us.gcr.io": "gcloud",
        "eu.gcr.io": "gcloud",
        "asia.gcr.io": "gcloud",
        "staging-k8s.gcr.io": "gcloud",
        "marketplace.gcr.io": "gcloud"
      }
    }
    
    Do you want to continue (Y/n)?
    
  3. y と入力して Enter キーを押します。

  4. 以前ビルドした Docker イメージを実行します。[PROJECT_ID] は GCP プロジェクト ID です。

    docker run gcr.io/[PROJECT_ID]/quickstart-image
    

    出力は次のようになります。

    Hello, world! The time is Fri Feb  2 16:09:54 UTC 2018.
    

クリーンアップ

このチュートリアルで使用したリソースについて GCP アカウントに課金されないようにするために、以下を行ってください。

  1. Google Cloud Platform Console で [Container Registry] ページを開きます。

    Container Registry ページを開く

  2. プロジェクトを選択し、[開く] をクリックします。

  3. [quickstart-image] をクリックします。

  4. すべてのイメージを選択して、[削除] をクリックします。

このクイックスタートで作成したイメージの削除は完了です。

これでクイックスタートの演習はすべて終了です。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Cloud Build のドキュメント