注意这里的data-root,它显示的是docker文件的存放地址
# 编辑配置文件,添加 data-root 配置
sudo cat > /etc/docker/daemon.json << 'EOF'
{
"data-root": "/data/docker",
"registry-mirrors": [
"https://docker.1panelproxy.com",
"https://2m11665s.mirror.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://registry.docker-cn.com"
],
"insecure-registries": [
"registry.me:5000",
"decs.com"
],
"exec-opts": [
"native.cgroupdriver=systemd"
],
"storage-driver": "overlay2",
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
EOF
# 停止 Docker 服务
sudo systemctl stop docker
# 创建新的数据目录
sudo mkdir -p /data/docker
# 如果要保留现有数据,复制到新位置
# 注意:这可能需要较长时间,取决于数据量
sudo rsync -avP /var/lib/docker/ /data/docker/
# 或者如果不需要保留现有数据,直接创建空目录即可
# sudo mkdir -p /data/docker
your-proxy一般为127.0.0.1 port看你的代理的端口号是什么,我现在用的7890
# 配置 Docker 代理
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo cat > /etc/systemd/system/docker.service.d/proxy.conf << 'EOF'
[Service]
Environment="HTTP_PROXY=http://your-proxy:port"
Environment="HTTPS_PROXY=http://your-proxy:port"
Environment="NO_PROXY=localhost,127.0.0.1"
EOF
# 重启 Docker
sudo systemctl daemon-reload
sudo systemctl restart docker
# 重新加载 systemd 配置
sudo systemctl daemon-reload
# 启动 Docker
sudo systemctl start docker
# 检查 Docker 是否正常运行
sudo systemctl status docker
# 验证新的数据目录是否生效
docker info | grep "Docker Root Dir"
# 应该显示: Docker Root Dir: /data/docker
# 1. 添加 NVIDIA 仓库
distribution=rhel8.6 # OpenEuler 兼容 RHEL
curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.repo | \
sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
# 2. 安装 nvidia-container-toolkit
sudo yum clean all
sudo yum install -y nvidia-container-toolkit
# 3. 配置 Docker 运行时
sudo nvidia-ctk runtime configure --runtime=docker
# 4. 重启 Docker
sudo systemctl restart docker
# 5. 验证安装
docker run --rm --runtime=nvidia --gpus all nvidia/cuda:12.2.0-base-ubuntu20.04 nvidia-smi