如何在 Ubuntu 18.04 LTS 服务器中安装 Docker

[ad_1]

在本指南中,我们将了解什么是 Docker,如何在 Ubuntu Linux 中安装 Docker。 此外,我们还将如何安装 Docker compose,这是一个定义和运行多容器 Docker 应用程序的工具。

内容

  1. 什么是 Docker?
  2. 码头工人要求
  3. 在 Ubuntu 18.04 LTS 中安装 Docker
    1. 测试 Docker
    2. 在 Linux 中以非 root 用户身份运行 Docker
    3. 在 Ubuntu 中安装 Docker Compose
      1. 方法一:
      2. 方法二:

什么是 Docker?

码头工人 是一种快速、轻量级的操作系统级虚拟化技术,适用于希望构建具有所有必需依赖项的应用程序并将其作为一个包发布的开发人员和系统管理员。

与其他虚拟化方法不同,例如 VMWare、Xen 和 VirtualBox,不需要为每个虚拟机单独的来宾操作系统。

所有 Docker 容器都有效地共享主机操作系统的内核。 每个容器都将在同一操作系统中的隔离用户空间中运行。

Docker 容器也可以在任何 Linux 变体上运行。 让我们说你在工作 Fedora,我正在使用 Ubuntu。 我们仍然可以相互开发、共享和分发 Docker 镜像。

您不必担心操作系统、软件、自定义设置或任何东西。 只要我们在主机系统中安装了 Docker,我们就可以继续开发。 简而言之,Docker 将无处不在!

您在上述段落中阅读了两个术语,即 Docker 镜像Docker 容器. 您可能想知道,它们实际上是什么,它们之间有什么区别?

通俗的说,Docker 镜像是一个描述 Container 应该如何表现的文件,而 Docker 容器是 Docker 镜像的运行(或停止)状态。

希望您对 Docker 有一个基本的了解。 有关详细信息,请参阅官方 Docker 用户指南。 该链接附在本指南的末尾。

码头工人要求

要安装和配置 Docker,您的系统必须满足以下最低要求。

  1. 64 位 Linux 或 Windows 操作系统;
  2. 如果你在 Linux 上,内核版本应该是 3.10 或以上。
  3. 您的系统应与 Internet 连接。

在 Linux 中,要验证内核和架构详细信息,请从终端运行以下命令:

$ uname -a

样本输出:

Linux ubuntuserver 4.15.0-91-generic #92-Ubuntu SMP Fri Feb 28 11:09:48 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

正如您在上面的输出中看到的,我的 Ubuntu 系统的内核版本是 4.15.0-91-通用 我的 Ubuntu 系统的架构是 64 位 (x86_64 x86_64 x86_64 GNU/Linux)。 检查上述结果中的粗体字母。

嗯,Kernel 版本高于最低要求,arch 是 64 位的。 因此,我们可以毫无问题地安装和使用 Docker。

请注意,您使用哪个 Ubuntu 操作系统并不重要。 此外,无论您使用的是 Ubuntu Desktop 还是 Ubuntu Server 版本,还是任何其他 Ubuntu 变体,例如 Lubuntu、Kubuntu、Xubuntu,都没有关系。

只要您的内核版本为 3.10+,并且系统的拱门是 64 位,Docker 就可以正常工作。

在 Ubuntu 18.04 LTS 中安装 Docker

首先,更新你的 Ubuntu 系统。

为此,请打开终端,并一一运行以下命令:

$ sudo apt-get update
$ sudo apt-get upgrade

Docker 在官方 Ubuntu 存储库中不可用。 因此,我们将添加 Docker 存储库以获取最新版本的 Docker。

首先,安装必要的证书并允许 易于 包管理器使用以下命令通过 HTTPS 使用存储库:

$ sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

接下来,添加 Docker 的官方 GPG 密钥:

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

验证密钥是否已添加指纹 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88,通过搜索指纹的最后 8 个字符:

$ sudo apt-key fingerprint 0EBFCD88

您应该会看到如下所示的输出。

pub   rsa4096 2017-02-22 [SCEA]
      9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid           [ unknown] Docker Release (CE deb) <[email protected]>
sub   rsa4096 2017-02-22 [S]

添加 Docker 官方仓库:

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

最后,运行以下命令在 Ubuntu 18.04 LTS 服务器中安装最新的 Docker CE:

$ sudo apt-get install docker-ce docker-ce-cli containerd.io

在 Ubuntu 中安装 docker

当然,您也可以安装特定的 Docker 版本。 要检查可用 Docker 版本的列表,请运行:

$ apt-cache madison docker-ce

样本输出:

docker-ce | 5:19.03.8~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:19.03.7~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:19.03.6~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:19.03.5~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:19.03.4~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:19.03.3~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:19.03.2~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:19.03.1~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:19.03.0~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:18.09.9~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:18.09.8~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:18.09.7~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:18.09.6~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:18.09.5~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:18.09.4~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:18.09.3~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:18.09.2~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:18.09.1~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:18.09.0~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 18.06.3~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 18.06.2~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 18.06.1~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 18.06.0~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 18.03.1~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages

您可以从上面的列表中选择任何可用的版本并安装它。 例如,要安装版本 5:18.09.2~3-0~ubuntu-bionic, 跑:

$ sudo apt install docker-ce=5:18.09.2~3-0~ubuntu-bionic docker-ce-cli=5:18.09.2~3-0~ubuntu-bionic containerd.io

安装后,使用以下命令验证 Docker 服务是否正在运行:

$ systemctl status docker

你会看到类似下面的输出。

● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2020-04-10 10:39:00 UTC; 3min 40s ago
     Docs: https://docs.docker.com
 Main PID: 14610 (dockerd)
    Tasks: 8
   CGroup: /system.slice/docker.service
           └─14610 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Apr 10 10:38:55 ubuntuserver dockerd[14610]: time="2020-04-10T10:38:55.800086650Z" level=warning msg="Your kernel does not support swap memory limit"
Apr 10 10:38:55 ubuntuserver dockerd[14610]: time="2020-04-10T10:38:55.801329697Z" level=warning msg="Your kernel does not support cgroup rt period"
Apr 10 10:38:55 ubuntuserver dockerd[14610]: time="2020-04-10T10:38:55.801659115Z" level=warning msg="Your kernel does not support cgroup rt runtime"
Apr 10 10:38:55 ubuntuserver dockerd[14610]: time="2020-04-10T10:38:55.802348633Z" level=info msg="Loading containers: start."
Apr 10 10:38:57 ubuntuserver dockerd[14610]: time="2020-04-10T10:38:57.965216155Z" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. 
Apr 10 10:38:58 ubuntuserver dockerd[14610]: time="2020-04-10T10:38:58.779021136Z" level=info msg="Loading containers: done."
Apr 10 10:38:59 ubuntuserver dockerd[14610]: time="2020-04-10T10:38:59.283684712Z" level=info msg="Docker daemon" commit=afacb8b7f0 graphdriver(s)=overlay2 version=19.03.
Apr 10 10:38:59 ubuntuserver dockerd[14610]: time="2020-04-10T10:38:59.286277513Z" level=info msg="Daemon has completed initialization"
Apr 10 10:39:00 ubuntuserver systemd[1]: Started Docker Application Container Engine.
Apr 10 10:39:00 ubuntuserver dockerd[14610]: time="2020-04-10T10:39:00.306773751Z" level=info msg="API listen on /var/run/docker.sock"

伟大的! Docker 服务已启动并运行!

如果尚未启动,请运行以下命令启动它。

$ sudo systemctl start docker

使 Docker 服务在每次重启时自动启动:

$ sudo systemctl enable docker

可以使用命令找到安装的 Docker 版本:

$ sudo docker version

样本输出:

Client: Docker Engine - Community
 Version:           19.03.8
 API version:       1.40
 Go version:        go1.12.17
 Git commit:        afacb8b7f0
 Built:             Wed Mar 11 01:25:46 2020
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.8
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.17
  Git commit:       afacb8b7f0
  Built:            Wed Mar 11 01:24:19 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.13
  GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

检查 linux 中的 docker 版本

测试 Docker

让我们继续,测试 Docker 是否正常工作。

为此,请运行:

$ sudo docker run hello-world

上述命令将下载一个测试 Docker 镜像,并执行一个示例 你好世界 容器内的程序。

如果您看到类似下面的输出,恭喜! Docker 在我们的 Ubuntu 系统中运行良好。

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete 
Digest: sha256:f9dfddf63636d84ef479d645ab5885156ae030f611a56f3a7ac7f2fdd86d7e4e
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

运行 hello world docker 容器

运行 hello world docker 容器

伟大的! Docker 可以使用了。

在 Linux 中以非 root 用户身份运行 Docker

默认情况下,Docker 守护进程绑定到 Unix 套接字而不是 TCP 端口。 因为 Unix 套接字归根所有 用户,Docker 守护程序将仅以 root 用户身份运行。 因此,普通用户无法执行大多数 Docker 命令。

如果您想在 Linux 中以非 root 用户身份运行 Docker,请参阅以下指南:

  • 如何在 Linux 中以非 root 用户身份运行 Docker

在 Ubuntu 中安装 Docker Compose

码头工人撰写 是一个可用于定义和运行多容器 Docker 应用程序的工具。 使用 Compose,您可以使用 Compose 文件来配置应用程序的服务。 然后,使用单个命令,您可以从配置中创建和启动所有服务。

我们可以使用以下任何一种方法安装 Docker Compose。

方法一:

从以下位置下载最新的 Docker Compose 这里.

在撰写本文时,最新版本是 1.25.5.

运行以下命令下载最新的稳定 Docker compose 文件:

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

如果有新版本可用,只需将上述命令中的数字 1.25.5 替换为新版本号即可。

最后,使用以下命令对二进制文件应用可执行权限:

$ sudo chmod +x /usr/local/bin/docker-compose

方法二:

或者,我们可以使用安装 Docker Compose 画中画. Pip 是一个 Python 包管理器,用于安装用 Python 编程语言编写的应用程序。

请参阅以下指南在您的系统上安装 Pip。

  • 如何使用 Pip 管理 Python 包

安装 pip 后,运行以下命令安装 docker compose。 以下命令对于所有 Linux 发行版都是相同的!

$ pip install docker-compose

安装 Docker Compose 后,您可以使用以下命令检查版本:

$ docker-compose --version

您将看到如下所示的输出。

docker-compose version 1.25.5, build 8a1c60f6

恭喜! 我们已经成功安装了 Docker Community Edition 和 Docker Compose。

我安装了 Docker,现在呢? 查看本系列的下一篇文章,了解 Docker 基础知识。

  • 开始使用 Docker

要在基于 RPM 的系统(例如 RHEL)中安装 Docker, Fedora、CentOS、Scientific Linux 和 openSUSE,请查看以下链接。

  • 在 CentOS 中安装 Docker

此外,下载并使用以下 Docker 电子书来了解更多关于 Docker 的信息。

下载免费电子书:“Docker Containerization Cookbook” 下载免费指南:“了解 Docker” 下载免费指南:“什么是 Docker,为什么如此受欢迎?” 下载免费指南:“Docker 简介” 下载免费指南:“生产中的 Docker”

而且,这就是现在的全部。 我希望这有帮助。

资源:

  • 码头工人网站

DevOpsDockerDocker社区版在UbuntuLinuxLinux容器中安装DockerOS级虚拟化Ubuntu虚拟化

[ad_2]

Related Posts