部署 docker(Ubuntu版本)


云服务器,或者是通过虚拟机(VMware Workstation Pro)的Linux系统,都可以通过这个博客,安装 docker。

1. 操作系统准备

建议是 Ubuntu 20.04 (LTS) 往上走的,当然,一般购买的云服务器,都是 Ubuntu 最新版本的

虚拟机(VMware Workstation Pro)的Linux系统,也建议是 Ubuntu 20.04 (LTS) 往上走的

2. 准备工作

2.1 检查版本

使用 Xshell 连接好云服务器之后,输入指令:cat /etc/*release*

在这里插入图片描述

2.2 检查 CPU

确定 CPU,可以看到我们的是 X86_64,是支持的,如果是 arm 一般会显示 aarch64

输入指令:uname -a
在这里插入图片描述

2.3 检查是否 docker 曾经安装过

输入指令:docker version

如果是输出这样的,证明你没有安装过,不需要再执行 1.1.4 标题的卸载操作
在这里插入图片描述
如果是输出下面这种,说明你安装过,需要执行卸载命令,重新安装一下最新的

Client:
 Version:           29.0.0
 ...

Server:
 Engine:
  Version:          29.0.0
 ...

2.4 卸载 docker (确定需要卸载,再执行)

卸载旧版本,如果是新购买的云服务器是没有的,比如输入 docker 并没有这个命令,就不需要卸载。

卸载旧版本:

输入指令:sudo apt-get remove docker docker-engine docker.io containerd runc

在这里插入图片描述

卸载历史版本:

输入指令:

#卸载软件
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras -y

#删除目录
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

卸载软件的指令有点长,怕你复制之后会截断,我就给你复制出来:sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras -y

在这里插入图片描述
到这里,我们就卸载好 docker 了。可以开始重新安装 docker 了。

3. 安装 docker

3.1 配置 Docker 下载源(Ubuntu)

  1. 安装 curl
sudo apt update

sudo apt install -y curl

  1. 创建 GPG Key 存放目录
sudo mkdir -m 0755 -p /etc/apt/keyrings

这个 GPG Key,相当于是一个签名,需要下载这个签名,然后根据这个签名,才可以下载 Docker

这个也是处于安全考虑的


  1. 下载 Docker 官方 GPG Key

输入指令:curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor --yes -o /etc/apt/keyrings/docker.gpg


  1. 添加 Docker 官方软件源
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

我们可以查看这个文件夹下,存放了什么

指令:cat /etc/apt/sources.list.d/docker.list

输出的结果是:

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable

这些文件表示当前 Docker 软件源配置为:

  • 架构:amd64
  • GPG Key:/etc/apt/keyrings/docker.gpg
  • 软件源地址:https://download.docker.com/linux/ubuntu
  • Ubuntu 版本:jammy(Ubuntu 21.04)
  • 软件源分支:stable

  1. 更新软件源
sudo apt update

更新软件源,是因为我们第四步,已经 添加了Docker官方软件源 了。

3.2 安装 docker 组件

输入指令:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

这条指令下载的东西有:

软件包作用是否必须
docker-ceDocker Engine(Docker 引擎),负责创建、运行、停止容器✅ 必须
docker-ce-cliDocker 命令行工具,例如 docker rundocker ps✅ 必须
containerd.io容器运行时,真正负责创建和管理容器✅ 必须
docker-buildx-pluginDocker Buildx 插件,用于增强镜像构建能力⭐ 推荐
docker-compose-pluginDocker Compose 插件,用于管理多个容器⭐ 推荐

如果你的云服务器版本比较新,可能会出现这个界面:

在这里插入图片描述
这个界面不是 Docker 安装报错,不用紧张。它是 Linux 在安装/更新软件时弹出来的一个服务重启确认界面

那么,你的下一步操作是:
Tab → 选中 <Ok> → 按 Enter 即可。

如果你的界面长这样:
在这里插入图片描述

说明你的 docker 安装好了。

3.3 检查 docker

输入指令:docker --version

如果输出结果是这样的:

root@你自己的云服务器名称:~# docker --version
Docker version 29.6.2, build dfc4efb

说明安装成功了。

另外还有两个指令能检测:

# 查看 Client / Server 版本
docker version

# 查看 Docker 运行状态
docker info          

3.4 自动启动配置

下面的指令,一条一条的执行

#配置加载
sudo systemctl daemon-reload

#启动服务
sudo systemctl start docker

#开启启动
sudo systemctl enable docker

#查看服务状态
sudo systemctl status docker

如果上述指令没有出现报错,且出现这个页面:
在这里插入图片描述
说明 docker 安装成功,服务也启动起来了,可以使用 docker 了。

4. 检测 docker 服务是否正常

4.1 安装成功界面

执行命令:

sudo docker run hello-world

如果界面是这样的:

在这里插入图片描述

说明我们的 docker 已经完全安装完成,后续可以使用了

4.2 异常结果(大多数情况):

如果是出现这样的结果:

root@iZwz9gkais4sddfp76izy7Z:~# sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: failed to resolve reference "docker.io/library/hello-world:latest": failed to do request: Head "https://registry-1.docker.io/v2/library/hello-world/manifests/latest": dial tcp 174.37.243.85:443: i/o timeout

Run 'docker run --help' for more information

这是因为,服务器访问 Docker Hub 网络不通或者很慢

这种情况,是国内最常见的问题。

解决方法:配置 Docker 镜像加速器

编辑配置文件:

sudo mkdir -p /etc/docker
sudo nano /etc/docker/daemon.json

写入:

{
  "registry-mirrors": [
    "https://docker.1ms.run"
  ]
}

在这里插入图片描述

输入好之后,跟着我按:

  1. Ctrl + O

    底部会出现类似:

    File Name to Write: /etc/docker/daemon.json
    
  2. Enter

    即可保存

  3. Ctrl + X

    退出编辑界面

保存后执行:

sudo systemctl daemon-reload
sudo systemctl restart docker

然后再试:

docker run hello-world

最后,出现这个界面:

在这里插入图片描述

说明我们的 docker 已经完全安装完成,后续可以使用了

5. 退出 docker 服务

操作步骤

  1. 停止 compose 项目(优雅关闭容器)
docker compose -p bite_wear -f docker-compose-mid.yml down

这个命令会停止并删除容器,数据卷的数据不会丢,后续可以重新 up 起来。

  1. 关闭整个 docker 服务
systemctl stop docker

此时 docker 完全停止,容器全部不运行,释放内存。

重新启动 docker容器 & docker服务

# 启动docker服务
systemctl start docker
# 重新拉起容器
docker compose -p bite_wear -f docker-compose-mid.yml up -d

6. 结尾:

最后,如果这篇博客能帮到你的,请你点点赞,有写错了,写的不好的,欢迎评论指出,谢谢!

更多推荐