docker内实现多机多卡分布式训练

docker内实现多机多卡分布式训练

    • [1. 多台docker宿主机网络配置](#1. 多台docker宿主机网络配置)
    • [2. 创建overlay 网络](#2. 创建overlay 网络)
    • [3. 注意](#3. 注意)

1. 多台docker宿主机网络配置

https://docs.docker.com/network/overlay/

这里需要创建overlay网络使得多台宿主机的容器可以通过网络连接

初始化swarm集群,并设置主节点(当前节点ip)

在其他节点运行以上蓝色框内的命令以作为worker 节点加入该集群

bash 复制代码
docker swarm join --token SWMTKN-1-35a9fwltowe90q1p4zyqnz110w9oenf0huoljje7n03kice4ae-byq3wrcqpr50i622z8foy5f0l 10.112.205.39:2377

然后可以在该worker节点上运行docker info查看,对应Swarm的内容,以下显示10.112.57.233 已经作为非管理者的身份加入集群

加入后可以在管理节点上运行docker node ls查看集群状态

2. 创建overlay 网络

在集群里创建一个my-attachable-overlay的虚拟网络 创建overlay 网络,名字任取。这里是jxh-overlay

使用创建的overlay 网络建立容器,启动容器时使用创建的网络

bash 复制代码
docker run -it --privileged=true --runtime=nvidia --gpus all --net=jxh-overlay -v /home/jxh/nccl:/home/nccl --name nccl  nvidia/cuda:11.8.0-cudnn8-devel-ubuntu22.04 bash

以该网络创建的容器间可以直接通信.

两边容器都启动后,可以ifconfig分别查看机器分配到的IP

然后互相可以ping一下试试,应该是可以ping通的

3. 注意

注意:这里使用overlay网络模式创建的docker重启后分配的ip是会变的,在实际多机多卡训练中需要每次看一下分配的ip再更改一下节点列表

相关推荐
normanhere几秒前
外网线路负载均衡和DNS分流
网络
2601_950760792 分钟前
IL-7蛋白在脓毒症适应性免疫紊乱中的研究进展
人工智能·深度学习·蛋白
AI医影跨模态组学11 分钟前
EJNMMI(IF=7.6)四川大学华西医院田蓉、李康等团队:基于深度学习的PET‑CT生物标志物用于滤泡淋巴瘤早期进展预测及生存分层
人工智能·深度学习·医学·医学影像
浅念-12 分钟前
Linux 进程与操作系统
linux·运维·服务器·网络·数据结构·笔记·网络协议
柒.梧.19 分钟前
Redis架构演进:从主从到Cluster,读懂高可用与分布式核心
redis·分布式·架构
m0_5648768419 分钟前
提示词工程Zero-Shot、One-Shot、Few-Shot
人工智能·深度学习·学习
雨声不在27 分钟前
IP路由表(ip rule)修改
网络·网络协议·tcp/ip
刘若里30 分钟前
【论文阅读】自适应稀疏自注意力——可直接用!
论文阅读·人工智能·笔记·深度学习·计算机视觉
渔民小镇35 分钟前
不用前端也能测试 —— 模拟客户端请求模块详解
java·服务器·前端·分布式·游戏
2601_9498141736 分钟前
docker离线安装及部署各类中间件(x86系统架构)
docker·中间件·系统架构