Docker是一个容器化平台,允许您快速构建,测试和部署应用程序,作为便携式,自给自足的容器,几乎可以在任何地方运行。

在本教程中,我们将解释如何在Debian 10 Buster上安装Docker并探索基本的Docker概念和命令。

在Debian上安装Docker

执行以下步骤从Docker的存储库安装最新的稳定Docker版本。

01、安装通过HTTPS添加新存储库所需的软件包:

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

02、使用以下curl命令导入存储库的GPG密钥:

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

成功后,命令将返回OK。失败了输入下面这个。

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

03、将稳定的Docker APT存储库添加到系统的软件存储库列表中:

deb-src [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/debian buster stable
deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/debian buster stable

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

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

$(lsb_release -cs)将返回Debian发行版的名称。在这种情况下,就是这样buster。

04、更新apt软件包列表并安装最新版本的Docker CE(Community Edition):

sudo apt update
 sudo apt install docker-ce

05、安装完成后,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 Wed 2021-08-18 15:35:59 CST; 4min 14s ago
 Docs: https://docs.docker.com
 Main PID: 14834 (dockerd)
 Tasks: 13
 Memory: 43.5M
 CGroup: /system.slice/docker.service
 └─14834 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

06、在撰写本文时,Docker的最新稳定版本是20.10.8:

docker -v


输出内容:

Docker version 20.10.8, build 3967b7d

在没有Sudo的情况下执行Docker命令

默认情况下,只有root 用户和具有sudo权限的用户才能执行Docker命令。

如果要在不预先添加的情况下执行Docker命令,则sudo需要将用户添加到在安装Docker CE软件包期间创建的docker组。为此,请输入:

sudo usermod -aG docker $USER


$USER是一个保存用户名的环境变量。

注销并重新登录,以便刷新组成员身份。

完成后,验证您可以运行docker不带sudo类型的命令:

docker container run hello-world


该命令将下载测试图像,在容器中运行,打印“Hello from Docker”消息并退出。

使用Docker

现在您已经在Debian 10上安装了,让我们来看看基本的docker概念和命令。

Docker 镜像
Docker镜像由一系列文件系统层组成,这些文件系统层表示构成可执行软件应用程序的图像Dockerfile中的指令。映像是一个不可变的二进制文件,包括应用程序和运行应用程序所需的所有其他依赖项,如库,二进制文件和指令。

Docker Hub上提供了大多数Docker镜像。它是一个基于云的注册服务,其中包括其他功能,用于将Docker镜像保存在公共或私有存储库中。

要从Docker Hub注册表中搜索图像,请使用该docker search命令。例如,要搜索Debian图像,您可以键入:

docker search debian

Docker容器
图像的实例称为容器。容器表示单个应用程序,进程或服务的运行时。

它可能不是最合适的比较,但如果您是程序员,您可以将Docker镜像视为类,将Docker容器视为类的实例。

要启动,停止,删除和管理容器,请使用该docker container命令。例如,以下命令将基于Debian映像启动Docker容器。如果您没有本地图像,将首先下载它:

docker container run debian


Debian容器将在启动后立即停止,因为它没有长时间运行的进程,也没有提供其他命令。容器启动,运行一个空命令,然后退出。

该开关-it允许您通过命令行与容器进行交互。要启动交互式容器类型:

docker container run -it debian /bin/bash


输出:

root@ee86c8c81b3b:/#


正如您在容器启动时从上面的输出中看到的那样,命令提示符已更改,这意味着您现在正在从容器内部工作:

要列出活动的Docker容器,请使用以下命令:

docker container ls


如果您没有任何正在运行的容器,则输出将为空。

要查看活动和非活动容器,请将其传递给-a交换机:

docker container ls -a


要删除一个或多个容器,只需复制容器ID(或ID)并在container rm命令后粘贴它们:

docker container rm c55680af670c

写在最后

在Debian 10上安装Docker是一项相对简单的任务。Docker是容器技术的事实上的标准,它是DevOps工程师及其持续集成和交付管道的必备工具。

有关更多信息,请查看Docker官方文档