[TOC] # Ubuntu 安装Docker步骤 ## 1. 进入Docker官网,进入开发者页面 - 官网地址:[https://docker.com/](https://docker.com/) ![](https://img.kancloud.cn/c4/81/c4818641703e6e2c5f05041d8a7225d1_2884x1136.png) - 进入开发者 ![](https://img.kancloud.cn/f6/03/f603e1b65f10e97493a96c4f74a8648e_1722x724.png) - 选择引擎安装 ![](https://img.kancloud.cn/d4/19/d419bad2dc1a57d8bc86e628295d8543_1538x822.png) - 在里面可以看到很多的版本,这里我们只以Ubuntu为例进行安装,中途会遇到很多报错问题,也会一起解决。 ![](https://img.kancloud.cn/cb/b2/cbb24677b9c6c3f50deee06817e1c50e_1730x1012.png) ## 2. 选择适合自己的安装方式 <span style="color: red;">判断自己的版本是不是可以安装</span> ![](https://img.kancloud.cn/dd/89/dd8901ab3a6c2a1ab281c5167ff10d8b_1530x504.png) > 上面的大体意思是,这些版本的 Ubuntu 支持 Docker Engine 的安装和运行。确保您使用的系统是 64 位版本,才能顺利安装 Docker。 ## 3. 安装 Docker Ubuntu 的 Docker 安装分为3步: ### 1.更新系统包,安装插件,创建秘钥及目录 ```sh 更新系统包索引,以便获取最新的软件包列表; 安装 ca-certificates 和 curl; 创建一个名为 /etc/apt/keyrings 的目录,并设置该目录的权限为 0755(即所有者可读、写、执行,组和其他用户可读、执行); 使用 curl 从 Docker 官方站点下载 GPG 密钥,并将其保存到 /etc/apt/keyrings/docker.asc 路径下; 为 /etc/apt/keyrings/docker.asc 文件设置权限,允许所有用户读取该文件(a+r 表示所有用户读取权限),这是为了让 apt 能够读取并验证 Docker GPG 密钥. sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc ``` ```sh 添加 Docker 仓库到 apt 源 更新 apt 包索引 echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update 使用阿里云库安装(推荐): echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update ``` ### 2.安装 Docker 软件包 ```sh sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin ``` **这里可能会安装不上,主要是因为apt地址不稳定,解决的办法是:”切换成阿里云地址,然后多尝试安装。还是不行就先看一下异常2,配置 Docker 使用的镜像源,再尝试。“** 测试 Docker 是否安装成功 ```sh docker -v ``` 如果打印出 Docker 的版本参数,表示你的Docker已经运行成功了,恭喜喔; <span style="color:red">如果没有Docker命令,那就是安装失败,可以参考页尾的“异常处理2”重新安装。</span> ### 3.设置开机启动 ```sh sudo systemctl start docker ``` 查看开机启动是否设置成功 ``` systemctl status docker ``` ![](https://img.kancloud.cn/b8/38/b83851ead973be81171f47ccc2c3a906_1540x392.png) `Active: active (running)` 表示 Docker 服务正在运行。 `Loaded: loaded (/lib/systemd/system/docker.service; enabled)` 表示 Docker 服务已经配置为开机启动(`enabled`)。 ### 4.通过运行 hello-world 镜像验证安装是否成功 ```sh sudo docker run hello-world ``` <span style="color:red">安装不成功换一下自己的Docker库地址(多试几次,有50秒的启动时间),如下:</span> ``` sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<EOF { "registry-mirrors": ["自己的镜像服务地址"], "max-concurrent-downloads": 5, "log-level": "debug" } EOF sudo systemctl daemon-reload sudo systemctl restart docker ``` 如图为成功: ![](https://img.kancloud.cn/11/15/1115bbd5e4b0132c5c006690c8b7d17f_1324x440.png) 到此安装结束。 ## 常见异常处理 ### 1. 执行`hello-world`文件的时候报错,主要是权限问题 如:出现 `permission denied while trying to connect to the Docker daemon socket` 错误通常是因为当前用户没有足够的权限访问 Docker 守护进程。 解决办法: ``` sudo usermod -aG docker $USER sudo shutdown -r now ``` * `-aG`:将用户追加到指定的组中。 * `$USER`:这是当前的用户名。 * `shutdown -r now` 重启服务器 ### 2. 由于国内要求,Docker服务已经禁止,需呀配置加速(这里由于发布要求已经封禁,需要的了解的可以联系我) <span style="color:red">镜像地址进入自己的”render“查看,地址:https://dashboard.render.com </span> ``` 创建 Docker 配置目录 创建并编辑 Docker 配置文件 重新加载 systemd 配置 重启 Docker 服务 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<EOF { "registry-mirrors": ["自己的镜像服务器地址"], "max-concurrent-downloads": 5, "log-level": "debug" } EOF sudo systemctl daemon-reload sudo systemctl restart docker ``` 再次测试“hello-world” ``` sudo docker run hello-world ``` 测试拉取操作 ``` docker pull xxxxx.xxxx.xxxx/okteto/docker-proxy:latest ``` 基本解决以上问题就可以实现安装,还有问题请与作者联系。 ### 3. 将 Docker 的安装源更换为阿里云的 Docker 镜像源,替换官方的镜像源。 补充:查看Docker 的 APT 源(Docker 的安装源) <span style="color:red">注意:**APT 源** 和 **Docker 的安装源** 是两个不同的概念,但它们之间有一定的关系。 APT(**Advanced Package Tool**)源是一个软件仓库,它用于存储 Debian 和 Ubuntu 系统中的软件包(.deb 文件)。APT 是一个包管理工具,它通过从这些源获取和安装软件包来管理系统中的软件。 **Docker 的安装源**是指提供 Docker 安装和更新的仓库,它也是通过 APT 管理的,但是它是一个专门用于安装 Docker 相关软件包的源。你可以将 Docker 的安装源视为一个 **专用的 APT 仓库**,它提供的就是 Docker 相关的包(例如 `docker-ce`、`docker-ce-cli`、`containerd` 等)。 </span> ``` cat /etc/apt/sources.list.d/docker.list ``` (1)如果你已经按照官方源配置了 Docker 的安装源,可以先删除旧的源配置,防止冲突: ``` sudo rm /etc/apt/sources.list.d/docker.list ``` (2)将阿里云的 Docker 镜像源添加到系统的 APT 源中 ``` echo \ "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` (3)为了确保 APT 源的安全性,你需要导入阿里云的 GPG 密钥 ``` sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc ``` 设置文件权限: ``` sudo chmod a+r /etc/apt/keyrings/docker.asc ``` (4)更新软件包列表 ``` sudo apt-get update ``` ![](https://img.kancloud.cn/9f/63/9f63a7ac998d33e7596e0facbaeb362e_2240x634.png) (5)查看 Docker 的源配置文件 `/etc/apt/sources.list.d/docker.list` 是否已经正确指向阿里云的镜像源 ``` cat /etc/apt/sources.list.d/docker.list ``` ![](https://img.kancloud.cn/63/f2/63f271e5ad8d13cb682855e57003f603_2018x140.png) (6)验证 GPG 密钥是否导入成功 ``` sudo apt-key list ``` 这里只有Ubuntu密钥,没有阿里云的,重装密钥试过还是一样,但系统正常,所以就暂时不管了 ![](https://img.kancloud.cn/69/24/69248909ac1e28b126b699fcd49cdd2d_1924x664.png)