前言
Docker 是一个开源的应用容器引擎。Docker 可以让开发者打包他们创建的应用以及相应的依赖包到一个可移植、轻量级的容器中。Docker 可大大简化在容器中管理应用程序的过程。容器使用沙盒机制,运行在其中的应用与主系统相互分离,类似与虚拟机。但容器比虚拟机有更棒的可移植性、占用计算机资源更小。
这篇教程里,我们在 Debian 10 上安装并运行 Docker Community Edition(CE)。
我会带领大家从零开始,一起在一台全新的 Debian 上安装 Docker、讲解 Docker 容器和镜像的使用方式。最后将我们配置好的镜像推送到 Docker hub 上保存并可以与他人共享。
这些都是 Docker 最基础的技能,是 Docker 入门必备知识。让我们开始吧。
准备工作
要根据本教程学习,首先要准备好以下几点。
- 安装好 Debian 10 的服务器。有 sudo 的 root 用户权限,大家可根据《 Debian 10 初始服务器设置》(撰写中,稍后上线)指南来配置自己的服务器。
- Debian默认是不可以使用sudo命令的,请在登录后使用
su
切换至root用户。即
$ su root
- 如果你希望把自己创建和配置好的镜像保存在 Docker Hub,和他人共享你配置好的镜像的话,可以去 Docker Hub 注册一个自己的账号。我们在本教程中第 7 步与第 8 步会教大家如何使用 Docker Hub。
第 1 步:安装 Docker
官方 Debian 存储库中提供的 Docker 安装软件包可能不是最新版本。
Debian 官方的版本库中并不一定是 Docker 最新的安装包,为了保证是最新版,我们从 Docker 官方库来安装。
首先,更新现有的软件包列表:
sudo apt update
注意:如果无法更新,可能是你的软件源指向国外的服务器,很可能已经被墙。所以更新时,请打开 VPN。
接下来,安装一些必备软件包,让 apt 通过 HTTPS 使用软件包。
sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common
然后将官方 Docker hub 的 GPG key 添加到系统中。
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
执行后输出结果
OK
将 Docker 版本库添加到APT源:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
接下来,我们用新添加的 Docker 软件包来进行升级更新。
sudo apt update
确保要从 Docker hub,而不是默认的 Debian repo 进行安装:
docker-ce:
Installed: (none)
Candidate: 5:18.09.7~3-0~debian-buster
Version table:
5:18.09.7~3-0~debian-buster 500
500 https://download.docker.com/linux/debian buster/stable amd64 Packages
请注意,到目前这一步docker-ce
还未安装,但根据上一步中的列表,可以看到 docker-ce 来自 Docker hub 的 Debian 10 的官方版。
最后,安装 Docker :
sudo apt install docker-ce
现在 Docker 已经安装完毕。我们启动守护程序。检查 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 Sat 2020-07-25 15:11:19 UTC; 5min ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 5709 (dockerd)
Tasks: 8
Memory: 41.6M
CGroup: /system.slice/docker.service
└─4287 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
现在,安装 Docker 不仅可以为您提供 Docker 服务(守护程序),还可以为您提供docker命令行实用程序或 Docker 客户端。docker命令行的使用会在本教程后边讨论。