Ubuntu 20.04 上安装和使用 Docker

Ubuntu 20.04 上安装和使用 Docker

在 Ubuntu 上安装 Docker 非常直接。我们将会启用 Docker 软件源,导入 GPG key,并且安装软件包。

一、开始安装

首先,更新软件包索引,并且安装必要的依赖软件,来添加一个新的 HTTPS 软件源:

shell 复制代码
sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

使用下面的 curl 导入源仓库的 GPG key:

shell 复制代码
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

将 Docker APT 软件源添加到你的系统:

shell 复制代码
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

二、安装 Docker 最新版本

运行下面的命令:

shell 复制代码
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

三、安装指定版本

首先列出 Docker 软件源中所有可用的版本:

shell 复制代码
sudo apt update
apt list -a docker-ce

可用的 Docker 版本将会在第二列显示, 例如:

复制代码
docker-ce/focal,now 5:24.0.4-1~ubuntu.20.04~focal amd64

通过在软件包名后面添加版本=<VERSION>来安装指定版本:

shell 复制代码
sudo apt install docker-ce=<VERSION> docker-ce-cli=<VERSION> containerd.io

安装完成,Docker 服务将会自动启动。你可以输入下面的命令,验证它:

shell 复制代码
sudo systemctl status docker

四、升级Docker版本

当一个新的 Docker 发布时,你可以使用标准的 sudo apt update && sudo apt upgrade 流程来升级 Docker 软件包。

五、锁住版本

如果你想阻止 Docker 自动更新,锁住它的版本:sudo apt-mark hold docker-ce

六、卸载 Docker

在卸载 Docker 之前,你最好 移除所有的容器,镜像,卷和网络。

运行下面的命令停止所有正在运行的容器,并且移除所有的 docker 对象:

shell 复制代码
docker container stop $(docker container ls -aq)
docker system prune -a --volumes

现在你可以使用apt像卸载其他软件包一样来卸载 Docker:

shell 复制代码
sudo apt purge docker-ce
sudo apt autoremove

七、安装 docker-compose

版本号 2.18.1 可以根据官网的版本号适当修改。

官方仓库: https://github.com/docker/compose/releases

shell 复制代码
#使用如下链接下载安装
sudo curl -L https://github.com/docker/compose/releases/download/2.18.1/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

#修改二进制权限
sudo chmod +x /usr/local/bin/docker-compose

#查看版本
docker-compose -v

Ubuntu20、22 遇到问题

在Ubuntu18没有遇到,在Ubuntu20、22都遇到该报错。

安装docker-compose后,执行docker-compose version时,报错,错误内容:/usr/local/bin/docker-compose: line 1: {error:Document not found}: command not found

解决方案:https://stackoverflow.com/questions/58747879/docker-compose-usr-local-bin-docker-compose-line-1-not-command-not-found

原因:网上文章的curl的链接中,在版本的位置,漏了 v

shell 复制代码
curl -L "https://github.com/docker/compose/releases/download/v2.18.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

八、常用命令

方式一:

进入Docker docker exec -it nginx /bin/sh, 执行对应的命令:

  • 配置检查:nginx -t

  • 重启:nginx -s reload

方式二:

在宿主机直接运行Docker命令

shell 复制代码
docker exec -it nginx /bin/sh -c "nginx -t"
shell 复制代码
docker exec -it nginx /bin/sh -c "nginx -s reload"

原文链接

Ubuntu 20.04 上安装和使用 Docker

相关推荐
瑞克-桑切斯7 小时前
2、Shell 条件语句
java·linux·服务器
梦帮科技8 小时前
Linux 内存取证学与 Rootkit 猎杀——Volatility 核心剖析与内核隐藏模块逆向清除
linux·运维·服务器·神经网络·算法·网络安全
无足鸟ICT8 小时前
【RHCA+】软件包
linux·运维·服务器
海盗12348 小时前
微软技术日报 2026-10-15:Defender 下到 Linux 桌面,Copilot 订阅明天改名
linux·人工智能·microsoft·机器人·aigc·copilot
梦帮科技9 小时前
Web 漏洞攻防深度:WAF 规则逃逸技术(畸形分块传输、双重编码)与对抗加固
linux·前端·网络安全·ssl·web
for_ever_love__9 小时前
忠实度(Faithfulness):怎么判断 RAG 的答案有没有瞎编
linux·rag·评估·答案·faithfulness·原文·忠实度
程序员-Benothing9 小时前
Linux系统监控工具全家桶:sar、dstat、glances、Prometheus
linux·运维·prometheus
木雷坞10 小时前
Docker Compose部署Docmost:数据库、附件持久化与首次协作
数据库·docker·容器
瑞克-桑切斯10 小时前
13、DNS、DHCP 与 FTP 协议详解
linux·运维·云计算
程序员-Benothing10 小时前
Linux性能分析方法论:USE、RED、火焰图与perf实战
linux·运维·服务器