如何使用 nvidia-docker 在 docker swarm 中创建服务
how to use nvidia-docker to create service in docker swarm
如何使用nvidia-docker在docker运行的swarm模式下创建服务。我正在尝试在这个群网络中训练一个张量流模型来进行分布式学习。我发现一种方法可能是 运行 不同机器中不同容器的集群网络,并在每台机器上使用 GPU 进行 distributed training。如果在swarm模式下不行,有什么方法可以完成上面的任务吗?
docker service create --name tensorflow --network overnet saikishor/tfm:test
azt0tczwkxaqpkh9yaea4laq1
Since --detach=false was not specified, tasks will be created in the background.
In a future release, --detach=false will become the default
但是在 docker 服务 ls 下,我有这个
ID NAME MODE REPLICAS IMAGE PORTS
uf6jgp3tm6dp tensorflow replicated 0/1 saikishor/tfm:test
截至目前,nvidia-docker 不支持 docker swarm。所以,现在没有这个可能。我们需要创建一个外部网络将它们连接在一起。
问的时候不可能,现在不行
自 nvidia-docker2 发布以来,支持新的 docker 容器运行时,通常命名为 nvidia
。
这使 docker run --runtime nvidia ...
可以像 nvidia-docker run ...
一样访问 GPU。
此外,配置dockerd
选项--default-runtime nvidia
后,docker-compose
、Docker Swarm和Kubernetes等工具也可以使用GPU。
安装
基于 Debian 的发行版
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
基于 RHEL 的发行版
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | \
sudo tee /etc/yum.repos.d/nvidia-docker.repo
配置
{
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
},
"default-runtime": "nvidia",
...
}
如何使用nvidia-docker在docker运行的swarm模式下创建服务。我正在尝试在这个群网络中训练一个张量流模型来进行分布式学习。我发现一种方法可能是 运行 不同机器中不同容器的集群网络,并在每台机器上使用 GPU 进行 distributed training。如果在swarm模式下不行,有什么方法可以完成上面的任务吗?
docker service create --name tensorflow --network overnet saikishor/tfm:test azt0tczwkxaqpkh9yaea4laq1
Since --detach=false was not specified, tasks will be created in the background.
In a future release, --detach=false will become the default
但是在 docker 服务 ls 下,我有这个
ID NAME MODE REPLICAS IMAGE PORTS
uf6jgp3tm6dp tensorflow replicated 0/1 saikishor/tfm:test
截至目前,nvidia-docker 不支持 docker swarm。所以,现在没有这个可能。我们需要创建一个外部网络将它们连接在一起。
问的时候不可能,现在不行
自 nvidia-docker2 发布以来,支持新的 docker 容器运行时,通常命名为 nvidia
。
这使 docker run --runtime nvidia ...
可以像 nvidia-docker run ...
一样访问 GPU。
此外,配置dockerd
选项--default-runtime nvidia
后,docker-compose
、Docker Swarm和Kubernetes等工具也可以使用GPU。
安装
基于 Debian 的发行版
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
基于 RHEL 的发行版
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | \
sudo tee /etc/yum.repos.d/nvidia-docker.repo
配置
{
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
},
"default-runtime": "nvidia",
...
}