在 Debian 10 (Buster) 中自动构建 Docker 镜像在 Debian 10 (Buster) 中自动构建 Docker 镜像在 Debian 10 (Buster) 中自动构建 Docker 镜像在 Debian 10 (Buster) 中自动构建 Docker 镜像
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

在 Debian 10 (Buster) 中自动构建 Docker 镜像

发表 admin at 2025年2月28日
类别
  • 未分类
标签

如今,Docker 是一种按需技术,许多大公司都在使用它来减少工作负载。它用于在容器技术之上构建、打包和部署应用程序。 Docker 可以用最少的资源运行高资源利用率的应用程序。基于管理程序的虚拟化通过安装整个操作系统需要大量资源,而 Docker 使用非常轻量级且可扩展的容器来运行应用程序。

Docker 可以安装在 Linux、Mac 和 Windows 上。虽然它在 Linux 上本机运行,但需要在 Windows 上启用 Hyper-V。

Docker 还有一个 Docker Hub,这是一个基于云的服务,我们可以在其中找到来自经过验证的发布者的镜像,我们还可以发布和共享我们自己的自定义镜像。一旦我们从 Docker Hub 中提取了镜像,我们就可以从同一个镜像创建大量容器。

Docker的特点:

  1. 它是开源软件。

  2. 提供平台即服务以在虚拟环境中运行应用程序。

  3. Docker技术非常容易理解和使用。

  4. Docker 应用程序可以轻松地在任何安装了 Docker 的系统上移动和运行。

  5. Docker 容器从云环境到本地主机的迁移非常快,反之亦然。

Docker可以读取并执行Dockerfile里面的指令,自动构建指定的镜像。本指南将介绍如何在 Debian 10 (Buster) 操作系统上使用 Dockerfile 自动构建 docker 镜像。我们将部署 Nginx Web 服务器并创建自定义 Docker 映像。

先决条件:

  1. 访问“sudo”权限。

  2. Docker 命令的基本知识。

在开始我们的旅程之前,让我们快速回顾一下理解本指南所必需的一些重要概念和要求。首先,您应该在系统上安装 Docker。如果您还没有安装 docker,可以按照本指南安装 docker。您还可以使用 Docker 网站上提供的官方指南在 Debian 10 上安装 Docker。

  1. Dockerfile:此文件描述了我们希望在 Docker 容器中拥有的整个配置。它是一组定义如何构建图像的指令。

  2. Docker Image:它实际上是我们可以用来构建自定义容器的模板镜像。我们可以说 Docker 镜像是一个不可变文件或只读镜像。

  3. Docker 容器:简单来说,Docker 容器是我们的 docker 镜像的一个实例。我们可以说 Docker 镜像是一个基础镜像,我们通过在该镜像上添加一个可写层来在 Docker 镜像的顶部创建一个自定义容器。我们可以使用单个 Docker 镜像来创建多个 Docker 容器。

我希望这篇评论足以让我们开始使用 Docker。那么让我们深入了解如何使用 Dockerfile 自动构建镜像。

第 1 步:构建镜像的第一步从 docker 文件开始。因此,我们首先创建一个工作目录,然后在其中创建一个 Dockerfile。

$ mkdir mydock1 #  This creates a new directory.

$ nano Dockerfile # This is our dockerfile.

我们可以使用除了 nano 之外的任何文本编辑器,例如 vi 或 vim。

步骤2.将以下内容添加到Dockerfile中并保存。

FROM ubuntu

MAINTAINER linux

RUN apt-get update \

    && apt-get install -y nginx \

    && apt-get clean \

    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \

    && echo "daemon off;" >> /etc/nginx/nginx.conf

EXPOSE 80

CMD service nginx start

第 3 步。现在,我们已准备好 Dockerfile,是时候构建镜像了。只需使用以下命令:

$ sudo docker build -t webserver-image:v1 .

句法 :

sudo docker build -t name:tag /path/to/directory/of/dockerfile

注意:始终使用 root 用户或“sudo”权限运行 docker 命令,以避免出现错误:“尝试连接到位于 unix:///var/run/ 的 Docker 守护程序套接字时获得权限被拒绝”码头工人”

在上面的命令中,webserver-image 是我们的 docker 镜像的名称。您可以在此处使用您的自定义名称。 V1 是我们图像的标签。

如果一切顺利,我们应该看到以下输出:

将构建上下文发送到 Docker 守护进程 2.048kB

第 1/5 步:从 ubuntu

—> f643c72bc252

第 2/5 步:维护 linux

—> 使用缓存

—> 1edea6faff0d

第 3/5 步:运行 apt-get update     && apt-get install -y nginx     && apt-get clean     && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && echo“守护进程关闭;” >> /etc/nginx/nginx.conf

—> 使用缓存

—> 81398a98cf92

第 4/5 步:曝光 80

—> 使用缓存

—> 2f49ffec5ca2

第5/5步:CMD服务nginx启动

—> 使用缓存

—> 855796a41bd6

成功构建855796a41bd6

已成功标记 webserver-image:v1

第4步。当我们有很多图像时,我们可以使用以下命令来查找特定图像:

$ sudo docker images

第 5 步。现在我们将运行我们的 docker 映像以查看它是否按预期工作:

$ sudo docker run -d -p 80:80 webserver-image:v1

运行成功后,会生成一个很长的id,如下所示:

第 6 步。如果一切顺利,我们应该能够看到我们的网页在 docker 内的 nginx Web 浏览器上运行。运行以下命令进行检查:

$ curl 'ip_address'

请记住,我们在这里使用的 IP 地址是安装在我们的主机操作系统上的 docker 容器的 IP 地址。要准确知道此处所需的 IP 地址,请在主机上运行以下命令:

$ ip a | grep ^docker

上面的命令将包含我们必须在此处使用的 IP 地址。

上面的curl命令将显示nginx Web服务器的index.html内容。

另一种简单直接的方法是将 docker 作为curl 参数传递,如下所示:

第 7 步。如果需要,您可以检查哪些端口和进程正在我们的 docker 容器内运行。运行以下命令:

$ sudo docker ps

我们关于在 Debian 10 (Buster) 上自动构建 Docker 镜像的指南就到此结束了。我们已经了解了如何从 Dockerfile 构建 Docker 映像,而不是手动编辑每个映像。

虽然本指南是在 Debian 10 上执行的,但它也应该可以在其他基于 Debian 的发行版(如 Ubuntu、Linux mint 等)上运行。请不要忘记与其他人分享本指南。另外,请订阅我们的博客以获取 Linux 上的最新更新和 HowTos。

©2015-2025 Norria support@norria.com