使用docker安装deepmd-cuda12
·
已知我的系统为CentOS Stream 9,我需要使用docker安装cuda12版本的deepmd
一、卸载旧版本 Docker(如果之前安装过)
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
二、安装 Docker 所需的依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
三、添加 Docker 官方仓库
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
四、安装 Docker 引擎
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
安装docker引擎时,我出现了网络的错误:
Warning: failed loading '/etc/yum.repos.d/CentOS-Base.repo', skipping.
Docker CE Stable - x86_64 0.0 B/s | 0 B 00:00
Errors during downloading metadata for repository 'docker-ce-stable':
- Curl error (35): SSL connect error for https://download.docker.com/linux/centos/9/x86_64/stable/repodata/repomd.xml [OpenSSL SSL_connect: Connection reset by peer in connection to download.docker.com:443 ]
Error: Failed to download metadata for repo 'docker-ce-stable': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
解决办法是切换为阿里云的docker镜像
1)备份原有 Docker repo:
sudo mv /etc/yum.repos.d/docker-ce.repo /etc/yum.repos.d/docker-ce.repo.bak
2)使用阿里云提供的 repo:
sudo tee /etc/yum.repos.d/docker-ce.repo <<-'EOF'
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/9/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
EOF
请注意,如果你是 CentOS 7,请把 centos/9 改为 centos/7
五、启动并开机自启 Docker
sudo systemctl start docker
sudo systemctl enable docker
六、验证 Docker 是否安装成功
sudo docker run hello-world
看到类似以下内容即为安装成功:
Hello from Docker!
This message shows that your installation appears to be working correctly.
我安装的时候并没有看到该信息,但是docker ps会出现正常的信息。
七、配置非 root 用户权限(推荐)
为避免每次执行 docker 都要加 sudo,你可以将自己的用户加入 docker 用户组:
sudo usermod -aG docker $USER
newgrp docker
这里的$USER就是需要自己的用户名例如:dong
八、拉取deepmd的docker镜像
# 这是官网给出的命令,但是不对
docker pull ghcr.io/deepmodeling/deepmd-kit:2.2.8_cuda12.0_gpu
# 该找到他的docker官网,看看目前能够拉取的版本
https://github.com/deepmodeling/deepmd-kit/pkgs/container/deepmd-kit
# 最后能拉取的版本是这个
docker pull ghcr.io/deepmodeling/deepmd-kit:3.0.2_cuda128
拉取完后,通过docker images即可查看到

九、nvidia-docker的安装
# 1. 设置发行版变量
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
# 2. 添加 NVIDIA 官方 Docker 仓库(我用$distribution参数会报错,所以直接用的centos8的版本)
#curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | \ sudo tee /etc/yum.repos.d/nvidia-docker.repo
curl -s -L https://nvidia.github.io/nvidia-docker/centos8/nvidia-docker.repo | \ sudo tee /etc/yum.repos.d/nvidia-docker.repo
# 3. 安装 nvidia-container-toolkit
sudo yum install -y nvidia-container-toolkit
# 4. 重启 Docker 服务
sudo systemctl restart docker

安装完后通过以下命令进入docker环境,nvidia-msi查看,显卡就可用了
docker run --gpus all -it ghcr.io/deepmodeling/deepmd-kit:3.0.2_cuda128 bash
十、一些基础的 Docker 命令
查看 Docker 状态:
sudo systemctl status docker
镜像列表:
docker images
容器列表:
docker ps -a
拉取镜像:
docker pull 镜像名
启动容器:
docker run -it 镜像名
停止容器:
docker stop 容器ID或名称
挂载:
docker run --gpu all -it -v /home/dong/myproject:/workspace ghcr.io/deepmodeling/deepmd-kit:devel bash
十一、后续测试中出现报错
Traceback (most recent call last):
File "/opt/deepmd-kit/lib/python3.12/site-packages/tensorflow/python/client/session.py", line 1407, in _do_call
return fn(*args)
^^^^^^^^^
File "/opt/deepmd-kit/lib/python3.12/site-packages/tensorflow/python/client/session.py", line 1390, in _run_fn
return self._call_tf_sessionrun(options, feed_dict, fetch_list,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/deepmd-kit/lib/python3.12/site-packages/tensorflow/python/client/session.py", line 1483, in _call_tf_sessionrun
return tf_session.TF_SessionRun_wrapper(self._session, options, feed_dict,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
tensorflow.python.framework.errors_impl.UnknownError: 2 root error(s) found.
无法解决,所以跟换为了稳定版
docker pull ghcr.io/deepmodeling/deepmd-kit:devel_cu11
更多推荐
所有评论(0)