2017-05-14 4 views
2

Googleコンテナビルダー(GCB)ですべてのコンテナビルドが行われるワークフローを想定すると、Dockerfileは必要なのでしょうか?DockerファイルはGoogle Container Builderには必要ですか?またはクラウドビルド.yamlはすべてのユースケースをカバーする必要がありますか?

たとえば、いくつかのパッケージをインストールしたい、またはローカルファイルシステムからファイルをコピーしたいカスタムコンテナをビルドする場合、GCBがまだDockerfile(例:https://github.com/GoogleCloudPlatform/cloud-builders)を使用している例がほとんどです - これはcloudbuild.yaml ?

答えて

2

Dockerコンテナイメージを作成する最も簡単なツールは、まだDockerfiledocker buildコマンドを使用しています。あなたの元のルートにDockerfileを使用して、単一のステップでcloudbuild.yamlファイルを持っているので、好きに非常に一般的です:docker buildを使用して、最終容器のイメージを構築するため、

steps: 
- name: 'gcr.io/cloud-builders/docker' 
    args: ['build', '-t', 'gcr.io/${PROJECT_ID}/my-image', '.'] 
images: ['gcr.io/${PROJECT_ID}/my-image'] 

そうとDockerfileです推奨されるアプローチ。たとえば、依存パッケージを簡単にインストールできるようになります。

cloudbuild.yamlを使用して、docker buildの手順の前後に他の操作を実行できます。たとえば、SDKを最終イメージにパッケージングせずにバイナリを作成する場合は、cloudbuild.yamlで簡単に行うことができます。または、gsutilを使用してCloud Storageから余分なアセットを取得する場合は、

コンテナビルダーでは、たくさんのステップを実行することで、gitリポジトリの同じコミットに結び付けられた(イメージタグにcommit shaも含めることができます) docker build。これらのビルドを並行して実行することもできます。

任意のものの手順を追加する方法については、https://cloud.google.com/container-builder/docs/api/build-stepsを参照してください。

関連する問題