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

robotsnoindex

多くの 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
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
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
最終更新日 2020 年 6 月 24 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.