Docker イメージをビルドしてコンテナ レジストリへプッシュする

多くの CI および CD ワークフローで、自動テストに合格したアプリケーションを Docker イメージとしてパッケージ化およびデプロイする場合があります。

Docker イメージをビルドする

Docker イメージをビルドする前に、bitbucket-pipelines.yml ファイルに docker: true オプションを追加して、Docker デーモンへのアクセスを有効化する必要があります。

Node.js アプリケーションを Docker ファイルとしてビルドする方法の例を以下に示します。次のプレースホルダーを独自の情報に置き換える必要があります。

  • <my.container.registry.io>

  • <my_app>

  • <my_tag>

bitbucket-pipelines.yml

1 2 3 4 5 6 7 8 9 10 image: node:10.15.0 pipelines: default: - step: script: - npm install - npm test - docker build -t <my.container.registry.io>/<my_app>:<my_tag> . services: - docker

コンテナ リポジトリにプッシュする

アプリケーションを Docker イメージにビルドしたら、安全に保存してデプロイメントに備えるために、コンテナ リポジトリにプッシュすることができます。

プッシュを実行する前に、コンテナ レジストリにログインする必要があります。Docker イメージをコンテナ リポジトリにビルド/プッシュする例を以下に示します。

最初に、変数 DOCKER_HUB_USER および DOCKER_HUB_PASSWORD. が設定済みであることを確認します。

次に、次のプレースホルダーを独自の情報に置き換える必要があります。

  • <my.container.registry.io>

  • <my_app>

  • <my_tag>

bitbucket-pipelines.yml

1 2 3 4 5 6 7 8 9 10 11 12 image: node:10.15.0 pipelines: default: - step: script: - npm install - npm test  - docker login -u $DOCKER_HUB_USER -p $DOCKER_HUB_PASSWORD - docker build -t <my.container.registry.io>/<my_app>:<my_tag> . - docker push <my.container.registry.io>/<my_app>:<my_tag> services: - docker

さらにヘルプが必要ですか?

アトラシアン コミュニティをご利用ください。