2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

(GPU対応)docker-compose更新のすゝめ

Last updated at Posted at 2021-05-23

概要

以前では,docker-composeを使用してGPUを割り当てるコンテナを作るときには

  • nvidia-container-runtimeのインストール
  • /etc/docker/deamon.jsonの設定

など,いくつかの手順を踏み,docker-compose.ymlでruntimeオプションを設定する必要がありました

こちらを参考にしました

この手法ではruntimeオプションは割り当てるGPUの個数などを指定できません。
(通常のdocker runではgpusオプションで割り当てるGPUの数やidを指定できる)

しかし,docker-compose v.1.28にて簡単に,しかも割り当てるGPUの詳細な指定が可能となりました。

参考資料

docker docs - Compose における GPU アクセスの有効化

設定の方法

簡単2ステップ(Linux)

  1. docker-composeのアップデート(v1.28以降)
  2. docker-compose.ymlの設定

docker-composeのアップデート

docker-composeのインストールはサイトのコマンドをコピペするのですがバージョンを必ずv1.28.0以上にしてください。リリースノート

# バージョンを1.28.0以上にする
sudo curl -L https://github.com/docker/compose/releases/download/1.28.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

docker-compose.ymlの設定

deployオプションを新しく追加します

services:
  test:
    image: nvidia/cuda:10.2-base
    command: nvidia-smi
    deploy:
      resources:
        reservations:
          devices:
          - driver: nvidia
            count: 1
            capabilities: [gpu, utility]

countオプションかdevice-idsオプションのどちらかが指定できます

countオプション → 使用するGPUの個数を指定したいとき
device-idsオプション → 使用するGPUを直接指定したいとき

と使い分けます

おわり。

普段困ったときはqiitaを見るのですが紹介されてないものもあるんですね。公式ドキュメント様様
(調査不足の可能性あり)

Ubuntu16.04&20.04で確認したのですが割とどのような環境でも動くような気がしてます

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?