Ubuntu22.04 安装nvida-docker2和改路径
在 Ubuntu 22.04 上安装可以通过一系列步骤完成。是一个用于运行 Docker 容器的工具,它使容器能够访问宿主机的 NVIDIA GPU。
在 Ubuntu 22.04 上安装 nvidia-docker2
可以通过一系列步骤完成。nvidia-docker2
是一个用于运行 Docker 容器的工具,它使容器能够访问宿主机的 NVIDIA GPU。以下是安装过程:
1. 安装 Docker
首先,确保已经安装了 Docker。如果没有安装 Docker,可以通过以下命令安装:
sudo apt update
sudo apt install docker.io
2. 安装 NVIDIA 驱动
在 Ubuntu 22.04 上安装 nvidia-smi
需要安装 NVIDIA 驱动程序,因为 nvidia-smi
是 NVIDIA 驱动包的一部分。你可以按照以下步骤安装它:
1. 添加 NVIDIA 驱动程序仓库
在 Ubuntu 中默认没有 NVIDIA 的最新驱动程序,建议添加 NVIDIA 官方的 PPA 仓库。
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
2. 安装 NVIDIA 驱动程序
使用以下命令查看系统支持的 NVIDIA 驱动版本,并选择一个适合你系统的版本安装。
ubuntu-drivers devices
系统将列出可用的驱动程序,通常会推荐适合你的驱动版本。你可以根据推荐安装指定的驱动程序,例如:
sudo apt install nvidia-driver-535
注意:上面
nvidia-driver-535
是一个示例,你需要根据你系统的输出选择合适的驱动版本。
3. 重启系统
安装完驱动后,建议重启系统以确保 NVIDIA 驱动正确加载。
sudo reboot
4. 验证 nvidia-smi
重启后,可以使用以下命令验证 nvidia-smi
是否正确安装。
nvidia-smi
这应该会输出 NVIDIA GPU 的状态和驱动程序信息。
额外信息
如果你使用的是 Ubuntu 自带的 GUI 安装器,你也可以通过 “Additional Drivers” 工具选择并安装适合的 NVIDIA 驱动程序:
- 打开
Software & Updates
- 转到
Additional Drivers
标签 - 选择 NVIDIA 驱动程序并应用。
安装成功后,同样可以通过终端运行 nvidia-smi
进行验证。
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
出现他,这是因为你之前自己造了一个daemon.json,选n或者y都行,然后复制下面的json覆盖他就行了,然后重启docker
Configuration file ‘/etc/docker/daemon.json’
What would you like to do about it ? Your options are:
Y or I : install the package maintainer’s version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a shell to examine the situation
The default action is to keep your current version.
*** daemon.json (Y/I/N/O/D/Z) [default=N] ?
这段信息是系统在询问你如何处理 /etc/docker/daemon.json
文件的更新问题。你可能已经有一个自定义的配置文件,而新安装的软件包(比如 nvidia-docker2
)也提供了一个新的配置文件版本。
具体选项解释如下:
- Y 或 I: 安装软件包维护者提供的版本(会覆盖你当前的配置文件)。
- N 或 O: 保留你当前安装的版本(不使用新的配置文件)。
- D: 显示当前文件和新文件之间的差异。
- Z: 启动一个 shell,让你可以手动检查、编辑文件,或者进行其他操作。
默认选项是 N,即保留你当前安装的版本,不覆盖。
如果你对当前的配置进行了修改,并且不想丢失这些修改,建议选择 N 来保留当前配置文件。如果你愿意使用维护者提供的新版本并重新配置 Docker,可以选择 Y 来覆盖现有的文件。
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn"
],
"default-runtime":"nvidia",
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
}
}
5. 重启 Docker 服务
安装 nvidia-docker2
后,需要重启 Docker 服务:
sudo systemctl restart docker
3. 卸载nvidia-docker2
要卸载 nvidia-docker2
,你可以按照以下步骤在 Ubuntu 22.04 上进行操作:
-
停止 Docker 服务:
首先,你可以停止 Docker 服务以确保所有相关容器都已停止。sudo systemctl stop docker
-
卸载
nvidia-docker2
:
使用以下命令卸载nvidia-docker2
:sudo apt-get purge -y nvidia-docker2
-
重新加载 Docker 配置:
由于nvidia-docker2
可能对 Docker 配置文件(例如/etc/docker/daemon.json
)进行了修改,卸载后你可能需要重新加载 Docker 配置:sudo systemctl daemon-reload
-
重启 Docker 服务:
确保 Docker 服务重新启动,以便应用新的配置。sudo systemctl restart docker
-
检查卸载是否成功:
确认nvidia-docker2
已经被成功卸载,你可以检查一下 Docker 的daemon.json
文件和运行的容器:dpkg -l | grep nvidia-docker
如果没有输出,表示
nvidia-docker2
已经卸载成功。
这套操作会卸载 nvidia-docker2
并且让 Docker 保持正常运行。如果你不再需要 Docker 或者 GPU 支持,你也可以选择进一步卸载 Docker 或 NVIDIA 驱动程序。
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 服务已正确重启。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)