如何在 Ubuntu 20.04 上安装和使用 Docker
本文最先发布在:https://www.itcoder.tech/posts/how-to-install-and-use-docker-on-ubuntu-20-04/
Docker 是一个开源的容器化平台,它允许你构建,测试,并且作为可移动的容器去部署应用,这些容器可以在任何地方运行。一个容器表示一个应用的运行环境,并且包含软件运行所需要的所有依赖软件。
Docker 是现代软件开发,持续集成,持续交付的一部分。
这篇教程将会涉及如何在 Ubuntu 上安装 Docker。
Docker 在标准的 Ubuntu 20.04 软件源中可用,但是可能不是最新的版本。我们将会从 Docker 的官方软件源中安装最新的 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 软件源被启用了,你可以安装软件源中任何可用的 Docker 版本。
01.想要安装 Docker 最新版本,运行下面的命令。如果你想安装指定版本,跳过这个步骤,并且跳到下一步。
sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io
02.想要安装指定版本,首先列出 Docker 软件源中所有可用的版本:
sudo apt update apt list -a docker-ce
可用的 Docker 版本将会在第二列显示。在写作这篇文章的时候,在官方 Docker 软件源中只有一个 Docker 版本(5:19.03.9~3-0~ubuntu-focal
)可用:
docker-ce/focal 5:19.03.9~3-0~ubuntu-focal amd64
通过在软件包名后面添加版本=<VERSION>
来安装指定版本:
sudo apt install docker-ce=<VERSION> docker-ce-cli=<VERSION> containerd.io
一旦安装完成,Docker 服务将会自动启动。你可以输入下面的命令,验证它:
sudo systemctl status docker
输出将会类似下面这样:
● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-05-21 14:47:34 UTC; 42s ago ...
当一个新的 Docker 发布时,你可以使用标准的sudo apt update && sudo apt upgrade
流程来升级 Docker 软件包。
如果你想阻止 Docker 自动更新,锁住它的版本:
sudo apt-mark hold docker-ce
二、以非 Root 用户身份执行 Docker
默认情况下,只有 root 或者 有 sudo 权限的用户可以执行 Docker 命令。
想要以非 root 用户执行 Docker 命令,你需要将你的用户添加到 Docker 用户组,该用户组在 Docker CE 软件包安装过程中被创建。想要这么做,输入:
sudo usermod -aG docker $USER
$USER
是一个环境变量,代表当前用户名。
登出,并且重新登录,以便用户组会员信息刷新。
三、验证安装过程
想要验证 Docker 是否已经成功被安装,你可以执行docker
命令,前面不需要加`sudo, 我们将会运行一个测试容器:
docker container run hello-world
如果本地没有该镜像,这个命令将会下载测试镜像,在容器中运行它,打印出 “Hello from Docker”,并且退出。
输出看起来应该像这样:
这个容器将会在打印消息后停止运行,因为它没有任何长期运行的进程。
默认情况下,Docker 从 Docker Hub 拉取镜像。它是一个云端服务,主要用来储存 公有和私有源中的 Docker 镜像。
四、卸载 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
五、总结
我们已经向你展示如何在 Ubuntu 20.04 机器上安装 Docker。
想要学习更多关于 Docker 的信息,查阅官方 Docker 文档。
如果你有任何疑问,请通过以下方式联系我们:
微信:
微信群:
加上面的微信,备注微信群
QQ: 3217680847
QQ 群: 82695646
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Windows 任务管理器作者:任务管理器可杀死任何进程
Windows 任务管理器(Windows Task Manager)的原始作者Dave Plummer 近日在 Reddit 开帖分享关于任务管理器的冷知识和设计理念,并解答了网友的部分疑问。 在微软工作了十几年的 Dave 是从头开始构建任务管理器的开发者,大约1994年,他在家中的书房里编写出了任务管理器(TaskMgr),尽管当时他还只是一名新手,NT 内核的开发者看到后依旧让Dave 将任务管理器加入到内核的主分支中。这就意味着开发任务管理器将成为他的工作,并且需要继续打磨以使它成为 Windows 系统的官方部分。 按照 Dave 最初的设想,任务管理器会以共享软件的形式提供,他计划将其出售给有需要的使用者,不过由于 NT 内核开发者的建议,任务管理器最后成为了一款免费应用并与Windows捆绑在一起。任务管理器于1996年首次随 Windows NT 4.0 一起提供,此后Windows 的用户都能通过该应用检查 CPU 负载或杀死进程。 除了任务管理器,Dave 还参与了三维弹球(Space Cadet pinball)的开发和移植工作,编写了Zip Folder 的 ...
- 下一篇
HBase2 使用协处理器删除指定qualifier的全部数据
用户画像的场景中,通常会开发很多标签,每个标签作为一个qualifier,其中有一些不再使用后需要下线,但hbase提供的delete相关api都只能针对单行,要清理某个qualifier的全部数据不太容易,这里提供一个基于协处理器的实现方案; hbase对于compact过程提供了以下5个hook可以嵌入自定义代码: preCompactSelection postCompactSelection preCompactScannerOpen preCompact postCompact 而preCompact会在创建了storeScanner之后读取数据之前调用,因此这里的思路就是对scanner进行代理,创建一个新的scanner实现其next方法,进而对读取到的原始数据进行加工; 代码如下,参考了hbase-examples模块中的ValueRewritingObserver类: public class QualifierDeletingObserver implements RegionObserver, RegionCoprocessor { private static ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS关闭SELinux安全模块
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2整合Redis,开启缓存,提高访问速度
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程