Ubuntu22.04 安装nvida-docker2和改路径
在 Ubuntu 22.04 上安装 nvidia-docker2
可以通过一系列步骤完成。nvidia-docker2
是一个用于运行 Docker 容器的工具,它使容器能够访问宿主机的 NVIDIA GPU。以下是安装过程:
1. 安装 Docker
首先,确保已经安装了 Docker。如果没有安装 Docker,可以通过以下命令安装:
sudo apt update
sudo apt install docker.io
2. 安装 NVIDIA 驱动
确保你的系统已安装了 NVIDIA 驱动。你可以通过运行 nvidia-smi
来检查是否已安装驱动。如果尚未安装,你需要先安装合适的 NVIDIA 驱动。
3. 添加 NVIDIA Docker 仓库
在安装 nvidia-docker2
之前,需要添加 NVIDIA Docker 的官方仓库。执行以下命令:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-docker-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/nvidia-docker-archive-keyring.gpg] https://nvidia.github.io/nvidia-docker/$distribution nvidia-docker stable" | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
这些命令将自动检测你的发行版并添加相应的仓库。
4. 安装 nvidia-docker2
更新包索引并安装 nvidia-docker2
:
sudo apt update
sudo apt install nvidia-docker2
5. 重启 Docker 服务
安装 nvidia-docker2
后,需要重启 Docker 服务:
sudo systemctl restart docker
6. 测试 nvidia-docker 安装
为了验证 nvidia-docker2
是否正确安装,你可以运行一个带有 GPU 支持的 Docker 容器:
docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi
这将运行一个 CUDA 容器并执行 nvidia-smi
命令,显示 GPU 信息。
注意事项
- 在执行这些步骤之前,请确保你有管理员权限(即可以使用
sudo
)。 - 如果你的系统中安装了旧版本的 NVIDIA Docker,可能需要先卸载它。
- 安装过程中可能会遇到依赖性问题,确保根据提示正确解决这些问题。
ubuntu22.04如何修改 Docker Root Dir到/data1下面
在 Ubuntu 22.04 上修改 Docker 的 Root Dir(即 Docker 的数据存储目录)到 /data1
目录,需要进行以下几个步骤:
1. 停止 Docker 服务
首先,确保 Docker 服务已停止,以避免在迁移数据时造成数据不一致。使用以下命令停止 Docker 服务:
sudo systemctl stop docker
2. 迁移 Docker 数据
接下来,需要将当前的 Docker 数据目录(通常是 /var/lib/docker
)移动到新的位置(在这个例子中是 /data1
)。首先确认 /data1
目录已存在并具有足够的空间。然后,使用以下命令移动数据:
sudo rsync -avzh /var/lib/docker/ /data1/docker
这将把所有现有的 Docker 数据复制到 /data1/docker
。
3. 更新 Docker 配置
修改 Docker 的配置文件,以指示 Docker 使用新的数据目录。首先,编辑 Docker 的 daemon 配置文件:
sudo nano /etc/docker/daemon.json
如果文件不存在,你需要创建它。在文件中添加或修改以下内容:
{
"data-root": "/data1/docker"
}
确保 JSON 格式正确。保存并关闭文件。
4. 重启 Docker 服务
更改配置后,重启 Docker 服务以应用更改:
sudo systemctl start docker
5. 验证更改
最后,验证 Docker 是否正在使用新的数据目录。你可以通过检查 Docker 信息来完成这一步:
docker info | grep 'Docker Root Dir'
输出应显示新的数据目录 /data1/docker
。
6. 清理(可选)
确认一切正常工作后,你可以删除旧的 Docker 数据目录来释放空间:
sudo rm -rf /var/lib/docker
注意事项
- 在执行这些操作之前,请确保你已备份
/var/lib/docker
目录中的重要数据,以防万一发生数据丢失。 - 确保新的目录(在这个例子中是
/data1/docker
)有足够的空间和适当的权限设置。 - 如果 Docker 在迁移后表现异常,检查
daemon.json
中的配置是否正确,并确保 Docker 服务已正确重启。