TeamCity On-Premises 2026.2 Help

Docker

Docker ビルドステップを使用すると、ビルド内で docker ビルドdocker pushdocker tag やその他の Docker(英語) コマンドを起動できます。

前提条件

新しく作成したイメージを Docker レジストリにプッシュするには、まず認証を行う必要があります。

  1. プロジェクト設定を開き、 接続設定タブに移動します。

  2. プロジェクトに新しい Docker レジストリ接続を追加します。

  3. ビルド構成設定で、前の手順で作成した接続を使用して Docker レジストリ接続 ビルド機能を構成します。

共通設定

ビルドステップでは、選択した Docker コマンドに応じて次の設定が提供されます。

コマンド

パラメーター

説明

ビルド

Dockerfile ソース

選択したソースに応じて、以下の設定は異なります。 使用可能なオプションは、 ファイルURLファイルコンテンツです。

ファイルへのパス

ファイルソースタイプで使用可能:

Dockerfile(英語) へのパスを指定します。 パスは、ビルドチェックアウトディレクトリからの相対パスである必要があります。

コンテキストフォルダー

ファイルソースタイプで使用可能:

docker ビルド のコンテキスト(英語)を指定します。 空白の場合、Dockerfile の親ディレクトリが使用されます。

ファイルへの URL

URL ソースタイプで使用可能:

URL は、Git リポジトリ、事前にパッケージ化された tarball コンテキスト、プレーンテキストファイルの 3 種類のリソースのいずれかを参照できます。 詳細については、 Docker のドキュメント(英語)を参照してください。

ファイルコンテンツ

ファイルコンテンツソースタイプで使用可能:

Dockerfile(英語) の内容をフィールドに入力できます。

イメージプラットフォーム

\<任意\> (デフォルト)、Linux、Windows を選択します。

イメージ名: タグ

イメージ名の改改行コードリストを提供します: タグ(英語)

ビルド コマンドの追加引数

docker ビルド コマンドに追加の引数を指定します。 詳細については、 Docker のドキュメントを参照してください。

プッシュ

プッシュ後にエージェントからイメージを削除する

選択すると、TeamCity はステップの最後に docker rmi を含むイメージを除去します。

イメージ名: タグ

イメージ名の改改行コードリストを提供します: タグ(英語)

その他

コマンド名

プッシュタグ などの Docker サブコマンド。 実行 コマンドには、 コンテナーラッパー を使用します。

作業ディレクトリ

チェックアウトディレクトリと異なる場合は、 ビルド作業ディレクトリを指定します。

コマンドの追加引数

Docker コマンドに渡される追加の引数。

sudo 経由で Docker を実行

TeamCity エージェント上で Docker コマンドを sudo 経由で起動するよう強制できます。 teamcity.docker.use.sudo=true 設定を ビルドエージェント構成ファイルに、またはエージェントのシステムプロパティとして追加します。 エージェントの起動時に、TeamCity エージェントログで、 sudo プレフィックスが Docker コマンドの実行に使用されることが通知されます。

sudo コマンドの sudoers ファイルを構成するには、次のように visudo (英語) を使用します。

buildagentuser ALL=(ALL) NOPASSWD:SETENV:<full_path_to_docker>

docker ログイン の問題(英語)を防ぐために、 sudoers ファイルから Defaults requiretty 行を削除(またはコメントアウト)することをお勧めします。

マルチアーキテクチャイメージのビルド

その他… コマンドオプションを使用すると、任意のカスタム docker … コマンドを実行できます。 例: buildx(英語) コマンドを呼び出してマルチアーキテクチャイメージをビルドできます。

  1. ビルド構成に新しい Docker ランナーを追加します。

  2. Docker コマンド オプションを「その他 ...」に切り替えます。

  3. コマンド名 フィールドに「buildx」と入力し、 コマンドの追加引数 に「create --use」と入力します。 TeamCity はこれらのフィールドを単一の docker buildx create --use コマンドに結合します。

  4. 実行する新しいコマンドごとに手順 1 ~ 3 を繰り返します。 例: 追加のノード (docker buildx create --append --name mybuild <コンテキスト名>) を追加したり、 docker buildx build <パス> --platform linux/amd64,linux/arm64 を呼び出してイメージの構築を開始したりすることができます。

カスタム TeamCity イメージのビルド

TeamCity サーバーおよびエージェントイメージの使用とビルドの詳細については、次の記事を参照してください:

2026 年 9 月 11 日