すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:DSW での Docker の使用

最終更新日:Aug 26, 2026

DSW インスタンスのメインコンテナで Docker コマンドを実行して、セカンダリコンテナ (サブコンテナとも呼ばれます) を起動および管理します。

グラフィカルユーザーインターフェースを使用してサブコンテナを起動するには、「DockerBoard でサブコンテナを管理する」をご参照ください。

制限事項

  • Lingjun リソースグループまたはバージョン 1.0 の汎用リソースグループから作成された DSW インスタンスのみが、セカンダリコンテナをサポートします。

  • DSW インスタンス内のセカンダリコンテナの Docker デーモン設定 (/etc/docker/daemon.json) は変更できません。そのため、data-rootregistry-mirrors などの設定項目をカスタマイズすることはできません。

  • DSW インスタンスを再起動すると、クラウドディスク機能が有効になっているかどうかに関わらず、セカンダリコンテナ内のランタイムデータ (ビルドしたランタイムイメージを含む) は失われます。データの損失を防ぐため、重要な環境とデータは定期的に保存してください。

  • Docker を使用してセカンダリコンテナを起動する際、昇格された権限を付与するパラメータや、セキュリティリスクをもたらすパラメータは使用できません。次の表に、一般的に制限されるパラメータを示します:

パラメータ説明
--privilegedコンテナにホストのほぼすべての権限を付与します。
--ipc=hostホストの IPC 名前空間を共有します。
--security-optコンテナがセキュリティポリシーをバイパスまたは変更できるようにします。
--cap-addコンテナに Linux カーネルケーパビリティを追加し、その権限範囲を拡大します。
説明

docker run または docker create を実行してセカンダリコンテナを作成する際に「Error response from daemon: authorization denied by plugin authZ: Permission denied」というエラーが表示された場合は、制限されたパラメータが使用されていることを示しています。

DSW インスタンスの作成と設定

DSW インスタンスを作成する際に、以下の主要なパラメータを設定します。その他のパラメータは必要に応じて設定してください:

セカンダリコンテナの操作

DSW インスタンスの作成後、そのメインコンテナで Docker コマンドを実行して、セカンダリコンテナを起動および管理します。

セカンダリコンテナの起動

次のコマンドを実行して、セカンダリコンテナを起動し、コンテナ内に入ります:

docker run -it dsw-registry.cn-hangzhou.cr.aliyuncs.com/pai/pytorch:1.8PAI-gpu-py36-cu101-ubuntu18.04 /bin/bash

セカンダリコンテナへのデバイスのマウント

  • GPU--gpus=all を使用して、DSW インスタンスのすべての GPU デバイスをマウントします。

  • PPU — GPU とは異なり、PPU デバイスは --device パラメータを使用してセカンダリコンテナに手動でマウントする必要があります:

docker run -it --network=host \
  --device=/dev/alixpu_ppu0 \
  --device=/dev/alixpu \
  --device=/dev/alixpu_ctl \
  your-ppu-enabled-image
説明

セカンダリコンテナのランタイムイメージには、PPU に必要なコンポーネントがプリインストールされている必要があります。そうでない場合、PPU は使用できません。

セカンダリコンテナへのデータのマウント

Docker のバインドマウントを使用して、セカンダリコンテナ内のデータにアクセスします。データセットのマウント または ストレージパスのマウント を使用して DSW インスタンスにデータをマウントし、次にセカンダリコンテナにマウントします。ボリュームマウントと tmpfs マウントはサポートされていません。

たとえば、DSW インスタンスにデータが /mnt/data0/mnt/data1 にマウントされている場合、-v パラメータまたは --mount パラメータを使用して、データをセカンダリコンテナにバインドマウントします:

# この例では、<path_in_dsw> は /mnt/data0、/mnt/data1、またはそのサブパスになります。
# 現時点では、他のパスをセカンダリコンテナにマウントすることはできません。

# -v パラメータを使用
docker run -v <path_in_dsw>:<path_in_secondary_container>[:options] {image}

# --mount パラメータを使用
docker run  --mount type=bind,source=<path_in_dsw>,target=<path_in_secondary_container>[,readonly] {image}

セカンダリコンテナへのアクセス

docker exec コマンドを使用して、実行中のコンテナで新しいコマンドプロセスを開始します。

たとえば、標準入力が開いている (-i) 対話モードで、擬似ターミナルが割り当てられた (-t) bash シェルを起動するには、次のコマンドを実行します:

docker exec -it your-container /bin/bash
説明

現時点では、--privileged のようなセキュリティリスクをもたらすパラメータを使用してコンテナ内に入ることはできません。

また、docker attach コマンドを使用して、実行中のコンテナのメインプロセスのターミナルにアタッチすることもできます。標準入力が開いており (-i)、擬似ターミナルが割り当てられている (-t) 状態でコンテナを起動した場合、コンテナの標準入出力 (stdin/stdout/stderr) を表示し、対話することができます:

docker attach {container_id}
説明

コンテナを停止せずにアタッチモードを終了するためのデフォルトのキーボードショートカットは、Ctrl + p の後に Ctrl + q を押します。コンテナのターミナルからデタッチされますが、コンテナは実行を続けます。

イメージのプル

ネットワークの制限により、Docker Hub から直接イメージをプルすることはできません。代わりに Alibaba Cloud Container Registry (ACR) からイメージをプルしてください。Docker Hub からのイメージのプルが失敗する場合、エラーの詳細については、「FAQ」をご参照ください。

ACR からパブリックイメージをプルするには、次のコマンドを実行します:

docker pull dsw-registry.cn-hangzhou.cr.aliyuncs.com/pai/pytorch:1.8PAI-gpu-py36-cu101-ubuntu18.04

プライベートリポジトリからイメージをプルするには、まず docker login コマンドを実行してログインします:

docker login --username={username} registry.cn-hangzhou.aliyuncs.com

イメージのビルド

DSW インスタンスでは、Dockerfile を使用してランタイムイメージをビルドできます:

docker build -t test-build .
説明

FROM 命令でベースイメージを指定する場合は、Alibaba Cloud Container Registry (ACR) のイメージを使用してください。手順については、「イメージのプル」をご参照ください。

ビルドが完了したら、次のコマンドを実行してイメージを表示します:

root@dsw-330808-8445dd65f4-mhnrt:/mnt/workspace/test# docker image ls
REPOSITORY          TAG         IMAGE ID       CREATED              SIZE
test-build          latest      fad7fdb5e81a   About a minute ago   15.4GB

よくある質問

Q:DSW インスタンスで ps -aux コマンドを実行しても、セカンダリコンテナのプロセスが表示されないのはなぜですか。

DSW インスタンスのメインコンテナとセカンダリコンテナは PID 名前空間を共有していません。そのため、メインコンテナからセカンダリコンテナのプロセスは表示されません。

Q:Docker Hub からのイメージのプルが失敗するのはなぜですか。

ネットワークの制限により、Docker Hub から直接イメージをプルすると失敗します。次のエラーが表示されます:

root@dsw-381955:/mnt/workspace# docker run --network=host -it ubuntu /bin/bash
Unable to find image 'ubuntu:latest' locally
docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": context deadline exceeded.
See 'docker run --help'.

代わりに、Alibaba Cloud Container Registry (ACR) のアーティファクトセンターからイメージをプルしてください。手順については、「イメージのプル」をご参照ください。または、「海外のモデルまたはコンテナイメージのクロスドメインでのプル」をご参照ください。

Q:「Error response from daemon: authorization denied by plugin authZ: Permission denied」というエラーが表示された場合はどうすればよいですか。

サポートされていない Docker コマンドまたはパラメータが使用されていることが原因です。ご不明な点がある場合は、チケットを送信してテクニカルサポートにお問い合わせください。

Q:「Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?」というエラーが表示された場合はどうすればよいですか。

DSW インスタンスに /var/docker/proxy/docker-proxy.sock ファイルが存在するかどうかを確認してください。ファイルが存在する場合は、次のコマンドを実行してください:

export DOCKER_HOST=unix:///var/docker/proxy/docker-proxy.sock

その後、Docker コマンドを再度実行してください。