2017-05-03 4 views
1

私のアプリケーション用にcloudbuild.yamlファイルを作成するための助けが必要です。私のアプリケーションは、phython:2-onbuildから派生したベースイメージと、そのベースイメージから派生した2つの追加イメージを持っています。自分のプロジェクトに3つの別々のDockerfileがあります。誰かが私に向かって指すことができるこれの例はありますか?Google Cloud Builderを使用して依存関係のある複数のコンテナを作成する方法

例えば、私の基本イメージDockerfileは、次のようになります

FROM python:2-onbuild 
# This will execute pip install requirements.txt and get all required python packages installed 
# It will also ensure the current directly, minus anything in .dockerignore is copied over to the image 
# The web server image and the worker image can then simply inherit from this. 

その後、私は、Webサーバーのイメージと労働者のイメージを作成します。作業員はCronJobとして実行されます。

マイウェブサーバーDockerfileはそうのようなものです:

FROM myapp-base 

RUN chmod +x ./main_runner.sh 
RUN chmod +w static/login.html 
RUN chmod +w static/index.html 
CMD ./main_runner.sh 

と私の労働者Dockerfileは次のとおりです。

FROM myapp-base 

RUN chmod +x worker_runner.sh 
CMD python ./run_worker.py 

現在、私の地元のdocker-compose.yaml絆それをすべて一緒にmyapp-baseイメージを作成し、それが利用できるようにすることで、その名前で、他のイメージがそこから派生するようにします。クラウドビルドで同等のものは何ですか?

答えて

1

This exampleは、オープンソースの「ドッカー」ビルドステップから、3種類のDockerファイルから3つの異なるイメージを作成します。それはあなたが探しているものですか?

+0

ありがとうDavid!私はそれをチェックしている。本当に有望ですね。 – Raj

+0

デービッド、私はベースイメージを作成し、そこから派生した2つの他のタイプのコンテナを作成しようとしています。クラウドビルドの構造は、いくつかのステップを実行し、最後にイメージをプッシュするように指示するようです。私はステップ1の一環として画像をプッシュし、最近プッシュされた画像を引っ張って次のいくつかの画像を作成したいと思います。これがカバーされているかわからない... – Raj

+0

@Rajこれは現在、単一のビルドでは非常に簡単ではありません。ドッキング・ビルダーを使用してビルド・ステップで「ドッカー・プッシュ」を実行できますが、それに基づいてイメージを構築する前にベース・イメージをプッシュする必要はありません。最初のイメージをFROMとして後で作成するだけで、作成したばかりのイメージが使用されます。その後、ビルドの最後に3つのイメージをすべてプッシュできます。 –

関連する問題