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

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

在Debian上安装Docker

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

  1. 安装通过HTTPS添加新存储库所需的软件包:sudo apt update
    sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg2
  2. 使用以下curl命令导入存储库的GPG密钥:curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -成功后,命令将返回OK。
  3. 将稳定的Docker APT存储库添加到系统的软件存储库列表中:sudo add-apt-repository \”deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable\”$(lsb_release -cs)将返回Debian发行版的名称。在这种情况下,即buster。
  4. 更新apt软件包列表并安装最新版本的Docker CE(社区版):sudo apt update
    sudo apt install docker-ce
  5. 安装完成后,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 Tue 2019-07-30 20:52:00 GMT; 1min 11s ago Docs: https://docs.docker.com …
  6. 在撰写本文时,Docker的最新稳定版本是19.03.1:docker -vDocker version 19.03.1, build 74b1e89

在不使用Sudo的情况下执行Docker命令

默认情况下,只有具有sudo特权的root和用户可以执行Docker命令。

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

sudo usermod -aG docker $USER

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

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

完成验证后,您docker无需sudo输入即可运行命令:

docker container run hello-world

该命令将下载测试图像,在容器中运行它,打印“ Docker问候”,然后退出。输出应如下所示:

get-60get-60

使用Docker

既然您已经安装了Debian 10,那么让我们看一下基本的docker概念和命令。

Docker映像

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

大多数Docker映像在Docker Hub上可用。它是基于云的注册表服务,除其他功能外,还用于将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,然后将其粘贴到container rm命令后:

docker container rm c55680af670c