使用 IRONSECUREDOC

Docker 从映像启动容器(开发人员教程)

查克尼特·宾
查克尼特·宾
2024年十二月16日
分享:

什么是 Docker?

Docker 是一个开源平台,可在轻量、可移植的容器中自动部署和管理应用程序。 容器将应用程序及其依赖项(包括库和配置文件)打包,以便在不同环境中一致运行。 这将使开发和测试更加简单,因为应用程序可以在各种系统上相同地运行,无论是在开发者的笔记本电脑、服务器还是云环境。 应用程序管理的可扩展性意味着高效地开发、运输和运行容器,而 Docker 具备这种能力。

从映像启动 Docker 容器(开发者教程):图 1 - Docker

在许多方面,Docker 映像使开发人员更容易规范一致的运行环境。 大多数预构建的映像都可以在一个名为 Docker Hub 的开放式注册中心找到,开发人员可以直接使用它们,也可以根据自己的要求更改内容。 对于涉及多个容器的应用程序,Docker Compose 等工具可以协调容器,而 Kubernetes 可以管理更难的扩展和自动化。 因此,Docker 已成为软件开发和 DevOps 的重要工具。

什么是 Docker 容器?

Docker 容器基本上是一个包含所有依赖项的应用程序,例如库、二进制文件和配置文件,打包成一个轻量级的独立可执行实体。 隔离设计的容器将运行在主机操作系统的内核之上,但避免受到任何其他运行软件的干扰。 这些工具易于启动、停止或删除,因此非常适合用于测试、部署和扩展。

Docker 容器的功能

  • 隔离:容器在隔离环境中运行; 即使使用不同的依赖关系或库,应用程序之间也不会发生冲突。
  • 轻量级:由于容器共享主机操作系统内核,它们非常小,启动速度比虚拟机快。
  • 可移植性:使用 Docker 的容器可以在任何其他系统上以确定性方式运行,因此在开发、测试和生产环境中保持一致性。
  • 可扩展性:容器易于复制和扩展,并支持微服务的快速部署和管理。
  • 资源效率:容器比虚拟机消耗更少的资源,因此需要更高密度和高效利用计算机资源。

什么是 Docker 映像?

因此,Docker 映像是创建容器的指令; 它是只读的、分层的,它阐明了系统文件加上应用程序运行所需的依赖关系。 Dockerfiles 用于形成映像,其中包含如何构建 Docker 映像,就像安装软件或复制文件一样繁琐。 每次更改 Dockerfile 时,都会创建一个新的映像层,以保持高效和模块化。 它启动一个映像,然后根据该映像使容器实例实时运行。

Docker 映像的功能

  • 多层堆栈:图像是通过层组成的,并且在Dockerfile中,每条指令都会产生一个工作层。 因此,应该优化构建,因为他们只需要重建已更改的层。
  • 重用性:基础镜像如Ubuntu或node可以在不同项目间重用; 这样可以节省大量的开发时间和资源。
  • 版本控制:该图像可以标记以支持版本控制。 如果需要,这将使回滚到以前的版本更加容易。
  • 模块化: 对图像的所有更改都是增量的,因此无需重新构建完整的图像即可轻松甚至直观地进行更新。
  • 在 Docker Hub 上可用: 公共和私人镜像注册库,使共享和部署镜像变得轻松。

如何创建 Docker 容器?

Dockerfile 是一个文本文件,其中说明了如何创建 Docker 映像。 在该文件中,您应该包含基础映像、依赖项、应用程序代码、环境变量和运行应用程序的命令。 下面是一个简单的例子:

# Use an official Node.js runtime as a parent image
FROM node:18
# Set the working directory in the container
WORKDIR /app
# Copy package.json and install dependencies
COPY package.json /app
RUN npm install
# Copy the rest of the application code
COPY . /app
# Expose the application’s port
EXPOSE 3000
# Define the command to run the application
CMD ["node", "app.js"]
# Use an official Node.js runtime as a parent image
FROM node:18
# Set the working directory in the container
WORKDIR /app
# Copy package.json and install dependencies
COPY package.json /app
RUN npm install
# Copy the rest of the application code
COPY . /app
# Expose the application’s port
EXPOSE 3000
# Define the command to run the application
CMD ["node", "app.js"]
#Use an official Node.js runtime as a parent image
#Set the working directory in the container
#Copy package.json and install dependencies
#Copy the rest of the application code
#Expose the application's port
#Define the command to run the application
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'FROM node:18 WORKDIR /app COPY package.json /app RUN npm install COPY. /app EXPOSE 3000 CMD ["node", "app.js"]
$vbLabelText   $csharpLabel

构建 Docker 镜像

使用 Dockerfile 创建您的 Docker 映像。 在包含 Dockerfile 的目录下的终端命令行执行以下命令:

请确保在运行以下代码前安装 Docker 桌面。

docker build -t my-app .

创建名为 my-app 的图像。要确认是否创建了镜像,您可以执行 Docker 镜像。

运行 Docker 容器

有了映像,您就可以创建一个 Docker 容器,然后使用 docker run 命令运行它。 Docker 守护进程将以分离模式或后台运行模式启动并监控进程。

docker run -d -p 3000:3000 --name my-running-app my-app
  • -d:脱离 Docker 容器的模式。
  • -map 3000:3000 在容器中将主机映射到容器的端口 3000。
  • --name my-running-app:为容器指定一个用户定义的名称。

验证容器

要检查正在运行的 docker 容器,请使用:

docker ps

从镜像启动 Docker 容器(开发者教程):图 2 - 运行 Docker 容器

上述代码显示了正在运行的容器的详细信息,包括容器 ID、名称、镜像名称等。

停止和删除容器

//Stop container
docker stop dazzling_snyder
// Remove container
docker rm dazzling_snyder
//Stop container
docker stop dazzling_snyder
// Remove container
docker rm dazzling_snyder
'Stop container
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker @stop dazzling_snyder docker rm dazzling_snyder
$vbLabelText   $csharpLabel

从镜像启动 Docker 容器(开发者教程):图 3 - 停止容器

什么是 IronSecureDoc?

IronSecureDoc Docker 是 Iron Software 提供的容器化文档处理解决方案,能够在 Docker 环境中自动处理文档,无需人工干预。 它为 PDF 和文档文件提供了复杂的文档工作流程和最大程度的数据保护,包括加密、数字签名、解密、水印等。 它能确保跨平台进行一致且可扩展的隔离部署,因此适合 DevOps 和 CI/CD 管道集成。

从镜像启动容器(开发者教程):图 4 - IronSecureDoc:PDF安全与合规服务器

在需要自动化和高安全性兼容性的应用程序以及微服务和云原生环境中,这种容器化方法增强了文档处理能力。 IronSecureDoc 一般适用于创建和构建应用程序的开发人员,这些应用程序需要在控制良好且可移植的 Docker 环境中进行可靠的自动文档处理。

安装并运行 IronSecureDoc

应在命令提示符或打开的终端窗口中执行以下命令,以便从版本库中下载 IronSecureDoc Docker 镜像。

docker pull ironsoftwareofficial/ironsecuredoc

从镜像启动 Docker 容器(开发者教程):图 5 - 下载 IronSecureDoc 镜像

拉取 Docker 镜像后,我们可以启动另一条命令来启动名为 IronSecureDoc 的运行容器。

为 IronSecureDoc 创建新容器

docker container run --rm -p 8080:8080 -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest

上述 Docker 运行命令将创建 IronSecureDoc 的容器实例。

通过镜像启动容器 (开发者教程):图 6 - 新容器

使用 IronSecureDoc 容器

IronSecureDoc 在 Docker 中的安装和运行中,用户可以通过其 REST API 对文件进行编辑、认证或加密。

从镜像启动Docker容器(开发者教程):图7 - SecureDoc Web API

例如,当您想对文档进行加密时,您可能会对 IronSecureDoc API 执行以下 POST 操作:

curl -X 'POST' \
  'http://localhost:8080/v1/document-services/pdfs/encrypt?user_password=demo' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@test.pdf;type=application/pdf'

这将自动将文档转发到 IronSecureDoc,然后由 IronSecureDoc 对数据进行相应加密。

结论

简单地说,Docker 可以使应用程序的部署非常流畅,因为开发人员可以从映像中创建一个容器。 因此,在一个可移植和可扩展的环境中,必须保持统一性。 它使从映像启动 Docker 容器成为可能,从而使应用程序在不同平台上非常流畅地运行,并通过灵活扩展实现高效的资源利用,这对 DevOps 和 CI/CD 管道非常有益。

同样,IronSecureDoc Docker 使用 Docker 的容器化呈现架构,呈现安全、自动化的文档处理解决方案。 Docker 和 IronSecureDoc 共同为现代软件开发中构建安全、可扩展的应用程序提供了强大的工具。 欲了解有关IronSecureDoc许可证的更多信息,请点击此库套件页面

查克尼特·宾
软件工程师
Chaknith 负责 IronXL 和 IronBarcode 的工作。他在 C# 和 .NET 方面拥有深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的洞察力,有助于提升产品、文档和整体体验。
< 前一页
Docker Compose 网络(面向开发人员的工作原理)
下一步 >
Docker sign PDF(开发人员教程

准备开始了吗? 版本: 2024.10 刚刚发布

查看许可证 >