私のアプリケーション用に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
イメージを作成し、それが利用できるようにすることで、その名前で、他のイメージがそこから派生するようにします。クラウドビルドで同等のものは何ですか?
ありがとうDavid!私はそれをチェックしている。本当に有望ですね。 – Raj
デービッド、私はベースイメージを作成し、そこから派生した2つの他のタイプのコンテナを作成しようとしています。クラウドビルドの構造は、いくつかのステップを実行し、最後にイメージをプッシュするように指示するようです。私はステップ1の一環として画像をプッシュし、最近プッシュされた画像を引っ張って次のいくつかの画像を作成したいと思います。これがカバーされているかわからない... – Raj
@Rajこれは現在、単一のビルドでは非常に簡単ではありません。ドッキング・ビルダーを使用してビルド・ステップで「ドッカー・プッシュ」を実行できますが、それに基づいてイメージを構築する前にベース・イメージをプッシュする必要はありません。最初のイメージをFROMとして後で作成するだけで、作成したばかりのイメージが使用されます。その後、ビルドの最後に3つのイメージをすべてプッシュできます。 –