はじめに
ローカルPCでDockerイメージを作成し、Sakura Cloud Container Registry に push して、高火力DOKで利用するまでの一連の手順を、備忘録としてまとめました。
高火力DOKでは現在(2025/11/15時点) 、 V100とH100(ベータ版)の二通りのGPUを従量課金制で利用できます。
高火力DOKが何かということについては公式サイトでわかりやすい説明資料があるので、そちらを参照ください。
手順一覧
1. レジストリを作成する
Sakura Cloud のコントロールパネルから「グローバル」→「コンテナレジストリ」を選択。
「追加」ボタンを押し、名前・公開設定(公開/非公開)を設定してレジストリを作成。
例:(レジストリ名).sakuracr.jp の形式で作成する。
具体例: myproject-registry.sakuracr.jp
2. ユーザーを作成・アクセス設定
レジストリ画面から「ユーザ」タブを開いて、Push/Pull 用のユーザーを作成。
ユーザー名・パスワードを設定し、Push・Pull の権限を付与する。
具体例
ユーザー名:docker-user
パスワード:app-secure-pass
3. Docker イメージをローカルでビルド
まず、ローカルPCで Dockerfile があるディレクトリに移動し、イメージをビルドします。
このとき、.dockerignoreでイメージに含めないディレクトリやファイルを指定することを忘れないようにしましょう。
このあたりは本記事では詳しく解説をしないので、他を参照してください。m(_ _)m
形式:
docker build -t (ローカルイメージ名):(タグ) .
具体例
docker build -t project:v1 .
4. ビルドしたイメージの存在を確認
ビルドが完了したら、ローカルにイメージが作成されたか確認します。
docker images
表示された一覧に (ローカルイメージ名):(タグ) (例: project:v1 )があれば OK。
5. レジストリ向けにタグを付け直す
ローカルでビルドしたイメージに、Sakura Cloud Container Registry 向けのタグを付け直します。
形式:
docker tag (ローカルイメージ名):(タグ) (レジストリ名).sakuracr.jp/(リポジトリ名):(タグ)
具体例:
docker tag project:v1 myproject-registry.sakuracr.jp/project:v1
6. レジストリにログイン(未ログインの場合のみ)
Docker CLIでレジストリにログインします。
形式:
docker login (レジストリ名).sakuracr.jp
具体例:
docker login myproject-registry.sakuracr.jp
ユーザネームとパスワードを求められるので、2. で登録したものを入力。
具体例:
Username: `docker-user`(例)
Password: `app-secure-pass`(例)
7. レジストリにイメージを push
タグ付けしたイメージをレジストリへアップロードします。
形式:
docker push (レジストリ名).sakuracr.jp/(リポジトリ名):(タグ)
具体例:
docker push myproject-registry.sakuracr.jp/project:v1
アップロードが進むと、レイヤーごとに Pushed 表示が出ます。
unauthorized が出たらログイン or 権限を再確認。
8. タスクを作成し、実行する
高火力DOKの画面に戻り、レジストリに Push したイメージを使ってタスクを作成し、実行します。
タスク作成時に、使用するGPUやエントリーポイント、実行コマンド等を設定できます。
実行コマンドは各自で実行したいプログラムなどを指定して実行しましょう。
実行コマンドの具体例:
bash scripts/inference.sh
⚠ 注意事項・ヒント
- レジストリ作成時の「公開設定」を誤ると、パブリック公開される場合があるため注意。
- Sakura Cloud コンテナレジストリは「CR版」であり、SLA対象外・利用制限の可能性がある。 (2025/11/15時点)
- レジストリへアップロードできるイメージなどの各容量には制限があるので注意。
まとめ
ローカルでの Docker イメージビルドから、Sakura Cloud Container Registry への Push、そして高火力DOKでの実行までの一連の流れを整理しました。
手順自体は一度やればシンプルですが、たまにしかやらないと忘れてしまうので、自分用のメモとして役立てたいと思います。