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再更改一下节点列表

相关推荐
ICT系统集成阿祥1 天前
黄金秘籍解决华为防火墙最困难的故障
网络·华为·php
刘~浪地球1 天前
API 安全设计最佳实践
运维·网络·安全
网络安全许木1 天前
自学渗透测试第20天(防火墙基础与规则配置)
运维·服务器·网络·网络安全·渗透测试
亚空间仓鼠1 天前
Docker 容器技术入门与实践 (二):Dockerfile文件
运维·docker·容器
CHENKONG_CK1 天前
智流链驱动 RFID 混流装配,赋能汽车精益生产
网络·人工智能·tcp/ip·自动化·射频工程·rfid
亚空间仓鼠1 天前
Docker 容器技术入门与实践 (一):命令与镜像、容器管理
运维·docker·容器
思绪无限1 天前
YOLOv5至YOLOv12升级:舰船检测与识别系统的设计与实现(完整代码+界面+数据集项目)
深度学习·yolo·目标检测·yolov12·yolo全家桶·舰船检测与识别
byzy1 天前
【论文笔记】RC-GeoCP: Geometric Consensus for Radar-Camera Collaborative Perception
论文阅读·深度学习·计算机视觉·自动驾驶
AI医影跨模态组学1 天前
Eur Radiol(IF=4.7)山西医科大学第一医院核磁影像科王效春等团队:基于Transformer增强型卷积神经网络的多中心MRI评估膀胱癌肌层浸润
人工智能·深度学习·论文·transformer·医学·医学影像
渴了喝洗衣液1 天前
作业44444444
网络·智能路由器