如何在 Ubuntu 20.04 中安装 Docker 并运行 Nginx 容器

[ad_1]

Docker 是一种开源工具,旨在让使用容器更轻松地创建、构建和运行应用程序。 Docker 容器充当运行时并拥有所有必需的依赖项和库,因此相同的应用程序也可以在其他操作系统中运行。 如今,基于容器的应用程序正在被广泛使用。 为了节省时间和精力,在所有操作系统平台上运行无忧的应用程序,Docker 容器被广泛采用。 在本文中,我们将学习如何在 Ubuntu 20.04 中安装 Docker 并运行 Nginx 容器。

在 Ubuntu 20.04 中安装 Docker 是一个简单直接的过程。 我们需要在 Ubuntu 中更新 Docker 存储库,获取 GPG 密钥,并安装 docker 包和依赖项。

先决条件

  1. 新安装的 Ubuntu 20.04
  2. Sudo 特权帐户来安装软件包。

在 Ubuntu 中安装 Docker

您可以使用 Ubuntu 20.04 中的官方 docker 存储库安装最新版本的 Docker。 为此,您需要将官方 Docker 存储库的 GPG 密钥添加到您的系统,并将存储库配置添加到 APT 源。

下载 Docker GPG 密钥

运行以下命令添加 GPG 密钥。

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

将 Docker GPG 密钥添加到系统存储库

在您的系统中添加和配置官方 docker 存储库。

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

更新系统存储库

现在,使用以下命令更新 APT 包以包含新的 Docker 包:

$ sudo apt update

安装 Docker

现在您可以使用以下命令安装 docker 软件包:

$ sudo apt install docker-ce

在 docker 包安装过程中,安装包会触发 systemd 自动启用和启动 docker 服务器。 使用以下命令检查 docker 服务状态。

检查 Docker 状态

要检查 docker 服务是否处于活动状态,请运行以下命令:

$ sudo systemctl is-active docker

要检查 docker 服务是否启用,请运行以下命令。

$ sudo systemctl is-enabled docker

要检查 docker 服务状态,请运行以下命令:

$ sudo systemctl status docker

停止、启动或重启 Docker

还有其他 systemctl 命令可用于控制 docker 服务,如下所示

$ sudo systemctl stop docker # stop docker service
$ sudo systemctl start docker # start docker service
$ sudo systemctl restart docker # restart docker service

检查 Docker 版本

要检查 docker 的版本,请运行以下命令:

$ docker version

使用 Docker 运行 Nginx 容器

在 docker 容器中运行 Nginx 非常简单易行。 你只需要从 docker hub 拉取一个 Nginx 镜像并创建一个 Nginx 容器作为静态文件的 Web 服务器。 要拉取最新的 Nginx 映像,请运行以下命令。

$ sudo docker pull nginx

要列出 docker 映像,请运行以下命令:

$ sudo docker images

要从拉取的镜像运行容器,请运行以下命令:

$ sudo docker run -d --name nginx-server -p 80:80 nginx

在哪里,

d=以分离模式运行容器

name= 要创建的容器的名称

p= 容器将与主机映射的端口

您将获得类似于以下内容的输出:

$ 7ef30a6599d0a7f9618883441fdd2a683e7205287d09f92dcd3b63f4892551e7

输出显示使用 Nginx 映像创建的容器 ID。

要列出正在运行的容器,请运行以下命令:

$ sudo docker ps -a

您可以在终端中找到具有以下状态的容器:

Nginx 在 docker 容器中运行,端口为 80。您可以通过在浏览器中导航到 URL https://your-server-ip 来验证 Nginx 安装。

为 Nginx 创建 Docker 卷

我们刚刚创建的容器将所有 Nginx 配置和静态文件包装在容器本身中。 如果我们需要更改任何内容或替换文件,我们每次都需要访问 docker 容器。 同样,如果我们删除容器,所有文件和配置文件也会被删除。 为了缓解这个问题,我们需要在主机中创建一个 docker 卷并将其映射到一个容器以保护配置和 Web 文件。 在此示例中,我将 nginx-data 作为卷名。 你可以有自己的假设。

要创建 docker 卷,请运行以下命令:

$ sudo docker volume create nginx-data

通过运行以下命令获取 docker 卷信息:

$ sudo docker volume inspect nginx-data

您将获得类似于以下内容的输出:

为了方便访问,您可以创建 docker 卷目录的符号链接。 要创建符号链接,请运行以下命令:

$ ln -s /var/lib/docker/volumes/nginx-data/_data /nginx

现在启动具有持久数据存储的 Nginx 容器。

$ sudo docker run -d --name nginx-server -p 80:80 -v nginx-data:/usr/share/nginx/html nginx

在哪里,

d= 以分离模式运行容器

name= 要创建的容器的名称

p= 与主机映射的端口

v= docker 卷的名称

容器已启动持久数据存储。 您将获得容器 id 作为输出:

$ 3067684b1133a2c7e36381574ea9af3ebbb79dd2504f63ae3569bb059b74d905

现在验证数据持久目录中可用的内容。

$ ls /var/lib/docker/volumes/nginx-data/_Data

以下输出将显示在您的终端中:

让我们更改位于 /var/lib/docker/volumes/nginx-data/_data 的 index.html 文件的内容

$ sudo vi /var/lib/docker/volumes/nginx-data/_data/index.html

更改一些 HTML 代码并保存文件。 在浏览器中导航 URL,您会发现 Nginx 内容更改为:

结论

在本文中,您学习了如何安装 docker、从 docker hub 拉取 docker 镜像以及在容器中运行应用程序。 此外,您还学习了如何使用 docker 容器创建持久数据存储和映射。

[ad_2]

Related Posts