当前位置: 首页 > news >正文

Ubuntu 20.04 上安装和使用 Docker

Ubuntu 20.04 上安装和使用 Docker

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

一、开始安装

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

sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

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

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

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

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

二、安装 Docker 最新版本

运行下面的命令:

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

三、安装指定版本

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

sudo apt update
apt list -a docker-ce

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

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

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

sudo apt install docker-ce=<VERSION> docker-ce-cli=<VERSION> containerd.io

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

sudo systemctl status docker

四、升级Docker版本

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

五、锁住版本

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

六、卸载 Docker

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

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

docker container stop $(docker container ls -aq)
docker system prune -a --volumes

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

sudo apt purge docker-ce
sudo apt autoremove

七、安装 docker-compose

版本号 2.18.1 可以根据官网的版本号适当修改。
官方仓库: https://github.com/docker/compose/releases

#使用如下链接下载安装
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

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命令

docker exec -it nginx /bin/sh -c "nginx -t"
docker exec -it nginx /bin/sh -c "nginx -s reload"

原文链接

Ubuntu 20.04 上安装和使用 Docker

相关文章:

  • Spring MVC的常用注解
  • Kubernetes(K8s)从入门到精通系列之十八:使用 Operator Lifecycle Manager(OLM) 安装operator
  • 保姆级教学安装Linux操作系统,以及Linux的语法入门
  • 论文阅读——ELECTRA
  • 一台服务器最大能支持多少条 TCP 连接
  • 9.Vue2-监听属性的用法
  • 地面文物古迹保护方案,用科技为文物古迹撑起“智慧伞”
  • 常见MySQL数据库无法启动的解决方案
  • 使用Ubuntu虚拟机离线部署RKE2高可用集群
  • 汇编运算符和表达式
  • 如何将Mysql数据库的表导出并导入到另外的架构
  • 单例模式python实现
  • Linux CentOS 8(firewalld的配置与管理)
  • vue如何使用路由拦截器
  • centos格式化硬盘/u盘的分区为NTFS格式
  • @jsonView过滤属性
  • 2017 前端面试准备 - 收藏集 - 掘金
  • CentOS7简单部署NFS
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • HTTP 简介
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • Redis字符串类型内部编码剖析
  • text-decoration与color属性
  • 阿里云Kubernetes容器服务上体验Knative
  • 大整数乘法-表格法
  • 分享一份非常强势的Android面试题
  • 跨域
  • 深度学习入门:10门免费线上课程推荐
  • 实现简单的正则表达式引擎
  • 算法系列——算法入门之递归分而治之思想的实现
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 我从编程教室毕业
  • 学习笔记:对象,原型和继承(1)
  • 用Visual Studio开发以太坊智能合约
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • #Linux(权限管理)
  • #Lua:Lua调用C++生成的DLL库
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (3)nginx 配置(nginx.conf)
  • (附源码)php投票系统 毕业设计 121500
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (算法)N皇后问题
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • .NET Framework 服务实现监控可观测性最佳实践
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .NET 分布式技术比较
  • .net/c# memcached 获取所有缓存键(keys)
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • .NET中winform传递参数至Url并获得返回值或文件
  • @RequestMapping 的作用是什么?
  • @Transient注解
  • @四年级家长,这条香港优才计划+华侨生联考捷径,一定要看!
  • [ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(十)RCE (远程代码/命令执行漏洞)相关面试题
  • [28期] lamp兄弟连28期学员手册,请大家务必看一下