教你在云服务器上部署 docker(Ubuntu版本)
部署 docker(Ubuntu版本)
文章目录
- 部署 docker(Ubuntu版本)
- 1. 操作系统准备
- 2. 准备工作
- 2.1 检查版本
- 2.2 检查 CPU
- 2.3 检查是否 docker 曾经安装过
- 2.4 卸载 docker (确定需要卸载,再执行)
- 卸载旧版本:
- 卸载历史版本:
- 3. 安装 docker
- 3.1 配置 Docker 下载源(Ubuntu)
- 3.2 安装 docker 组件
- 3.3 检查 docker
- 3.4 自动启动配置
- 4. 检测 docker 服务是否正常
- 4.1 安装成功界面
- 4.2 异常结果(大多数情况):
- 解决方法:配置 Docker 镜像加速器
- 5. 退出 docker 服务
- 操作步骤
- 重新启动 docker容器 & docker服务
- 6. 结尾:
云服务器,或者是通过虚拟机(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
卸载历史版本:
输入指令:
#卸载软件sudoapt-getpurge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras-y#删除目录sudorm-rf/var/lib/dockersudorm-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)
- 安装 curl
sudoaptupdatesudoaptinstall-ycurl- 创建 GPG Key 存放目录
sudomkdir-m0755-p/etc/apt/keyrings这个 GPG Key,相当于是一个签名,需要下载这个签名,然后根据这个签名,才可以下载 Docker
这个也是处于安全考虑的
- 下载 Docker 官方 GPG Key
输入指令:curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor --yes -o /etc/apt/keyrings/docker.gpg
- 添加 Docker 官方软件源
echo\"deb [arch=$(dpkg --print-architecture)signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \$(lsb_release-cs)stable"|sudotee/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
- 更新软件源
sudoaptupdate更新软件源,是因为我们第四步,已经 添加了Docker官方软件源 了。
3.2 安装 docker 组件
输入指令:
sudoapt-getinstalldocker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin-y这条指令下载的东西有:
| 软件包 | 作用 | 是否必须 |
|---|---|---|
docker-ce | Docker Engine(Docker 引擎),负责创建、运行、停止容器 | ✅ 必须 |
docker-ce-cli | Docker 命令行工具,例如docker run、docker ps | ✅ 必须 |
containerd.io | 容器运行时,真正负责创建和管理容器 | ✅ 必须 |
docker-buildx-plugin | Docker Buildx 插件,用于增强镜像构建能力 | ⭐ 推荐 |
docker-compose-plugin | Docker 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 info3.4 自动启动配置
下面的指令,一条一条的执行
#配置加载sudosystemctl daemon-reload#启动服务sudosystemctl startdocker#开启启动sudosystemctlenabledocker#查看服务状态sudosystemctl statusdocker如果上述指令没有出现报错,且出现这个页面:
说明 docker 安装成功,服务也启动起来了,可以使用 docker 了。
4. 检测 docker 服务是否正常
4.1 安装成功界面
执行命令:
sudodockerrun 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" ] }输入好之后,跟着我按:
Ctrl + O
底部会出现类似:
File Name to Write: /etc/docker/daemon.jsonEnter
即可保存
Ctrl + X
退出编辑界面
保存后执行:
sudo systemctl daemon-reload sudo systemctl restart docker然后再试:
docker run hello-world最后,出现这个界面:
说明我们的 docker 已经完全安装完成,后续可以使用了
5. 退出 docker 服务
操作步骤
- 停止 compose 项目(优雅关闭容器)
docker compose -p bite_wear -f docker-compose-mid.yml down这个命令会停止并删除容器,数据卷的数据不会丢,后续可以重新 up 起来。
- 关闭整个 docker 服务
systemctl stop docker此时 docker 完全停止,容器全部不运行,释放内存。
重新启动 docker容器 & docker服务
# 启动docker服务systemctl startdocker# 重新拉起容器dockercompose-pbite_wear-fdocker-compose-mid.yml up-d6. 结尾:
最后,如果这篇博客能帮到你的,请你点点赞,有写错了,写的不好的,欢迎评论指出,谢谢!
