在Debian 10 Buster上安装Docker和Docker Compose

时间:2020-02-23 14:31:41  来源:igfitidea点击:

如何在Debian 10 Buster上安装Docker CE ?,如何在Debian 10 Buster上安装Docker Compose ?。在本教程中,Ill讨论了在Debian 10(Buster)上逐步安装Docker和Docker Compose的过程。

Docker是最流行且使用最广泛的容器运行时。它使我们可以在由Kubernetes和类似工具编排的单个服务器或者Linux服务器集群中的隔离容器中打包和运行应用程序。

Docker版本

有两种版本的Docker。

社区版(CE):非常适合希望开始使用Docker并尝试基于容器的应用程序的个人开发人员和小型团队企业版(EE):专为构建,交付和运行关键业务的企业开发和IT团队而设计大规模生产中的应用。

本教程将介绍在Debian 10 Buster上安装Docker CE。但首先让我们看一下常见的docker术语。

Docker组件/术语

以下是Docker生态系统中常用的术语。Docker守护进程:也称为Docker Engine,它是在宿主系统上运行的后台进程,负责构建和运行容器.DockerClient:这是用户使用的命令行工具与Docker守护程序进行交互。Docker镜像:镜像是一个不可变的文件,本质上是容器的快照。 Docker镜像具有运行应用程序所需的文件系统和应用程序依赖项。Docker容器:这是具有应用程序及其依赖项的Docker镜像的运行实例。每个容器都有唯一的进程ID,并且与其他容器隔离。容器唯一共享的是Kernel.Docker注册表:这是一个负责管理Docker容器镜像的存储和交付的应用程序。它可以是私人的也可以是公共的。

在Debian 10 Buster上安装Docker CE

请按照本文下一部分介绍的步骤在Debian 10(Buster)上安装和使用Docker CE。

安装依赖包

通过确保已安装docker用作依赖项的所有软件包来开始安装。

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

添加Dockers官方GPG密钥:

导入用于签名Docker软件包的Docker GPG密钥。

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

将Docker储存库添加到Debian 10

添加包含最新稳定版本Docker CE的Docker存储库。

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

该命令将添加/etc/apt/sources.list文件中显示的行。

deb [arch=amd64] https://download.docker.com/linux/debian buster stable

在Debian 10(Buster)上安装Docker和Docker Compose

更新apt包索引。

sudo apt update

要在Debian 10上安装Docker CE,请运行以下命令:

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

使用以下教程在Debian 10(Buster)上安装最新的Docker Compose。

如何在Linux上安装最新的Docker Compose

该安装会将docker组添加到系统中,而无需任何用户。将用户帐户添加到组中,以非特权用户身份运行docker命令。

sudo usermod -aG docker $USER
newgrp docker

检查docker并撰写版本。

$docker version
Client: Docker Engine - Community
 Version:           19.03.2
 API version:       1.40
 Go version:        go1.12.8
 Git commit:        6a30dfc
 Built:             Thu Aug 29 05:29:29 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.2
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.8
  Git commit:       6a30dfc
  Built:            Thu Aug 29 05:28:05 2019
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.6
  GitCommit:        894b81a4b802e4eb2a91d1ce216b8817763c29fb
 runc:
  Version:          1.0.0-rc8
  GitCommit:        425e105d5a03fabd737a126ad93d62a9eeede87f
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

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

exit

测试Docker安装。

运行测试泊坞窗容器:

$docker run --rm -it  --name test alpine:latest /bin/sh
Unable to find image 'alpine:latest' locally
latest: Pulling from library/alpine
cd784148e348: Pull complete 
Digest: sha256:46e71df1e5191ab8b8034c5189e325258ec44ea739bba1e5645cff83c9048ff1
Status: Downloaded newer image for alpine:latest

/# cat /etc/os-release 
 NAME="Alpine Linux"
 ID=alpine
 VERSION_ID=3.9.2
 PRETTY_NAME="Alpine Linux v3.9"
 HOME_URL="http://alpinelinux.org"
 BUG_REPORT_URL="http://bugs.alpinelinux.org"
/# exit

测试Docker Compose安装。

创建一个测试Docker Compose文件。

$vim docker-compose.yml

将以下数据添加到文件中。

version: '3'  
services:
  web:
    image: nginx:latest
    ports:
     - "8080:80"
    links:
     - php
  php:
    image: php:7-fpm

启动服务容器。

$docker-compose up -d

输出:

显示正在运行的容器

$docker-compose ps

销毁容器

$docker-compose stop
$docker-compose rm
Going to remove vagrant_web_1, vagrant_php_1
Are you sure? [yN] y
Removing vagrant_web_1 … done
Removing vagrant_php_1 … done

我们已在Debian 10(Buster)Linux上成功安装了Docker。查看OfficialDocker文档和Docker Compose文档以了解更多信息。

设置Docker UI(可选)

如果我们需要用于Docker主机和容器的UI管理控制台,请安装Portainer。

如何安装Portainer Docker UI管理器

监控Docker容器

可以使用Netdata,Prometheus和Grafana等监控工具来实现对Docker容器的监控。