在 Ubuntu 上安装 Docker 非常直接。我们将会启用 Docker 软件源,导入 GPG key,并且安装软件包。
(这里指推荐使用官方的安装方法,snap的方法不推荐,各种命令不是很通用)
1、首先,更新软件包索引,并且安装必要的依赖软件,来添加一个新的 HTTPS 软件源:
sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
2、使用下面的 curl 导入源仓库的 GPG key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
3、将 Docker APT 软件源添加到你的系统:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
4、现在,Docker 软件源被启用了,你可以安装软件源中任何可用的 Docker 版本。
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
5、想要安装 Docker 最新版本,运行下面的命令。如果你想安装指定版本,跳过这个步骤,并且跳到下一步。
sudo apt update
apt list -a docker-ce
sudo apt install docker-ce=<VERSION> docker-ce-cli=<VERSION> containerd.io
6、一旦安装完成,Docker 服务将会自动启动。你可以输入下面的命令,验证它:
sudo systemctl status docker
输出将会类似下面这样:
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: en>
Active: active (running) since Sun 2023-04-16 02:27:44 UTC; 33s ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 6777 (dockerd)
Tasks: 11
Memory: 29.1M
CGroup: /system.slice/docker.service
└─6777 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containe>
Apr 16 02:27:43 jc0786 dockerd[6777]: time="2023-04-16T02:27:43.429784929Z" level=i>
Apr 16 02:27:43 jc0786 dockerd[6777]: time="2023-04-16T02:27:43.479114229Z" level=i>
Apr 16 02:27:43 jc0786 dockerd[6777]: time="2023-04-16T02:27:43.991187022Z" level=i>
Apr 16 02:27:44 jc0786 dockerd[6777]: time="2023-04-16T02:27:44.089426281Z" level=i>
Apr 16 02:27:44 jc0786 dockerd[6777]: time="2023-04-16T02:27:44.126231191Z" level=w>
Apr 16 02:27:44 jc0786 dockerd[6777]: time="2023-04-16T02:27:44.126292878Z" level=i>
Apr 16 02:27:44 jc0786 dockerd[6777]: time="2023-04-16T02:27:44.126420656Z" level=i>
Apr 16 02:27:44 jc0786 dockerd[6777]: time="2023-04-16T02:27:44.153000389Z" level=i>
Apr 16 02:27:44 jc0786 systemd[1]: Started Docker Application Container Engine.
...
7、当一个新的 Docker 发布时,你可以使用标准的sudo apt update && sudo apt upgrade流程来升级 Docker 软件包。
如果你想阻止 Docker 自动更新,锁住它的版本:
sudo apt-mark hold docker-ce
1、添加软件包存储库(不要重复添加,添加后会报错要删除)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
2、安装Nvidia-Docker2
安装 nvidia-docker2 软件包并重新加载 docker 守护程序配置:
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd
3、进行测试
sudo systemctl daemon-reload
sudo systemctl restart docker
4、下载镜像文件测试
run的时候一定要加–gpus all的参数
docker run --rm --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi
1、停止docker服务
sudo systemctl stop docker
如果有提示soket服务进行,继续停止相关的服务
sudo systemctl stop docker.soket
2、创建新的docker保存目录(建议数据盘)
sudo mkdir /data/docker
3、修改配置文件(没有该文件的新建一个)
sudo nano /etc/docker/daemon.json
将以下内容复制粘贴到文件中,并将其中的 /data/docker 替换为实际的数据存储路径:
{
"data-root": "/data/docker"
}
4、保存并关闭配置文件
5、启动 Docker 服务
sudo systemctl start docker
6、测试验证
确认 Docker 数据存储路径是否已经修改成功:
docker info | grep 'Docker Root Dir'