跳至页脚内容
使用 IRONSECUREDOC

Docker Compose 构建(开发者教程)

什么是Docker

Docker 是一个开源平台,通过容器化简化了开发、部署和运行应用程序的过程。 容器是超轻便、可移植的单元,包含应用程序及其依赖项,使其能够在不同环境中一致地运行,从开发人员的本地系统到生产服务器。 与传统的虚拟机不同,容器利用主机操作系统的内核,从而提高了速度和效率。

Docker Compose 构建(开发者教程):图 1

Docker 提供了一个通过 Docker 镜像创建和管理容器组的虚拟化模板。 它包括 Docker Hub,一种容器镜像存储库形式。 这种技术的巨大吸引力在于其可伸缩性、可移植性和效率,使其在DevOps和云为中心的开发工作流程中非常流行。

Docker 如何工作?

  • Docker 守护进程侦听来自 Docker 客户端的请求,可能包括docker builddocker pulldocker run
  • Docker 守护进程负责创建、管理和监控容器。 它还从注册表(如 Docker Hub)中检索所需的 Docker 镜像。
  • 使用下载的镜像,守护进程创建一个隔离的容器,实际上是应用程序的运行实例。
  • 容器共享主机机器的操作系统内核,但彼此保持隔离,使软件在其依赖项的独特环境中运行。
+--------------------+
|   Docker Client    |
|  (CLI/API)         |
+--------------------+
          |
          v
+--------------------+               +---------------------+
|   Docker Daemon    |   -------->   |   Docker Registry   |
|  (manages resources|               |  (stores images)    |
|  & runs containers)|               +---------------------+
+--------------------+
          |
          v
+---------------------+
|      Container      |  
|  (App Instance)     |
+---------------------+
          |
          v
+---------------------+
| Docker Image        |  
| (App Blueprint)     |
+---------------------+

什么是 Docker Compose?

Docker Compose 提供了一种通过单个文件管理多容器 Docker 应用程序的简便方法:docker-compose.yml。 此 YAML 文件能够配置多个服务,指定 Docker 镜像、环境变量、网络和卷等方面。 您可以使用 Docker Compose 命令,如docker-compose updocker-compose down,通过单一操作管理应用程序中的所有容器。

+--------------------------+
|   docker-compose.yml     |  (Configuration file)
+--------------------------+
            |
            v
+----------------+    +----------------+    +----------------+
|   Service 1    |    |   Service 2    |    |   Service 3    |
|  (e.g. web)    |    |  (e.g. db)     |    |  (e.g. cache)  |
+----------------+    +----------------+    +----------------+
            |                  |                   |
            -----------------------------------------
                         Docker Application

Docker Compose 在复杂应用程序(如拥有大量容器实例的微服务)中尤其有利。 它在开发、测试和生产环境中都有效使用。

使用 ASP.NET Core 创建新的 React JS 应用程序

按照这些步骤,创建一个带有 ASP.NET Core 后端的新 Visual Studio React 应用程序并添加 Docker 支持:

先决条件

  • Visual Studio:确保安装了 Visual Studio 2022 或更新版本,并附带必要的工作负载:
    • 网页开发和 ASP.NET
    • Node.js 开发(React)
    • Docker 支持
  • Docker 桌面:必须安装并运行。

创建新项目

  1. 打开 Visual Studio,从菜单中选择 New Project。

Docker Compose 构建(开发者教程):图 2

  1. 在"创建新项目"对话框中搜索"React 和 ASP.NET Core Web 应用程序"并选择它。 CQRS Pattern C# (开发人员的工作原理):图 1 - 创建一个新的 ASP.NET 项目

Docker Compose 构建(开发者教程):图 3

  1. 为项目提供一个名称,选择解决方案名称,并选择保存位置。 CQRS Pattern C# (开发人员的工作原理):图 1 - 创建一个新的 ASP.NET 项目

Docker Compose 构建(开发者教程):图 4

  1. 确保启用了 Docker 支持。 选择所需的框架并单击创建。

Docker Compose 构建(开发者教程):图 5

  1. 项目创建后,通过右键点击项目节点并选择 Add > Docker Support 添加 Docker 支持。

Docker Compose 构建(开发者教程):图 6

  1. 选择容器名称和类型,然后单击 Ok。

Docker Compose 构建(开发者教程):图 7

现在,新创建的项目已经添加到 Docker 容器,可以通过 Docker Compose 命令运行。 以下是从 React JS 客户端代码生成的示例输出。

Docker Compose 构建(开发者教程):图 8

以下是从 Docker 容器执行的 API 服务器代码。

Docker Compose 构建(开发者教程):图 9

IronSecureDoc

IronSecureDoc 使开发人员能够高效地将安全文档处理嵌入到容器化应用程序中。 借助 Docker 的支持,使用 IronSecureDoc 封装您的 ASP.NET Core 应用程序,鼓励无缝部署和扩展。 构建一个 Dockerfile 来将 IronSecureDoc 与您的 ASP.NET Core 应用结合,还需添加必要的脚本或配置。

Docker Compose 构建(开发者教程):图 10 - IronSecureDoc

docker-compose.yml 文件还可以列出服务依赖项和环境变量以便于访问,从而有助于在不同部署环境中高效处理文档安全任务。 确保 IronSecureDoc 的安装和配置与 Docker 一样,对于提供文档加密和编辑等功能至关重要。

安装和运行 IronSecureDoc

使用此命令检索 IronSecureDoc Docker 镜像:

docker pull ironsoftwareofficial/ironsecuredoc
docker pull ironsoftwareofficial/ironsecuredoc
SHELL

Docker Compose 构建(开发者教程):图 11

拉取镜像后,使用以下命令在新容器中启动 IronSecureDoc:

docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
SHELL

Docker Compose 构建(开发者教程):图 12

使用 Docker 容器中的 IronSecureDoc

安装并在 Docker 中运行后,IronSecureDoc 的 REST API 允许执行文档操作,如编辑、认证和加密。 有关 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'
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'
SHELL

此命令将文档提交给 IronSecureDoc 进行加密。

结论

将 Docker Compose 与 IronSecureDoc 集成,大大提高了需要安全文档处理的应用程序的效率和可靠性。 Docker Compose 高效管理多容器应用程序,简化了依赖项和服务协调,包括 IronSecureDoc,它确保了开发环境的一致性,简化配置并提升可扩展性。

在此设置中,开发人员可以在容器化框架内充分利用文档安全功能,如加密和编辑。 总体而言,将 Docker Compose 与 IronSecureDoc 相结合丰富了开发过程,提供了一种安全、高效的方法来处理现代应用程序中的敏感文档。 有关 IronSecureDoc 许可的信息,请访问此页面。 点击这里探索更多 Iron Software 产品。

常见问题解答

什么是Docker以及它如何促进应用程序的部署?

Docker是一个开源平台,通过使用容器简化了应用程序开发和部署。容器是轻量级的、可移植的单元,将应用程序及其所有依赖项打包在一起,确保在各种环境中的一致执行。

Docker Compose如何帮助管理复杂的应用程序?

Docker Compose是一种使用'docker-compose.yml'文件管理多容器Docker应用的工具。它简化了服务、镜像、网络和卷的配置和协调,使得管理像微服务这样的复杂应用程序变得理想。

使用Docker在Visual Studio中创建React JS应用程序与ASP.NET Core的步骤是什么?

要使用Docker在Visual Studio中创建React JS应用程序与ASP.NET Core,请确保安装有Visual Studio 2022或更高版本,必要的工作负载和Docker Desktop。创建项目,添加Docker支持,并使用Docker Compose命令来管理应用程序。

IronSecureDoc如何与Docker集成以进行安全的文档处理?

IronSecureDoc可以通过拉取其Docker镜像并在容器内运行与Docker集成。此设置允许通过其REST API进行像加密和修订这样的安全文档处理操作,增强了容器化应用的安全性。

使用Docker Compose与IronSecureDoc进行文档处理的好处是什么?

将Docker Compose与IronSecureDoc集成提高了应用程序的效率和可靠性,通过在容器化环境中管理依赖项和服务。它确保了安全和可扩展的文档处理,这对于需要强大文档安全性应用程序至关重要。

如何将Docker支持添加到现有的Visual Studio项目中?

要将Docker支持添加到现有的Visual Studio项目中,右键点击项目节点,选择添加 > Docker支持,并选择相应的容器选项。这将Docker功能集成到您的项目中,允许进行容器化开发。

在Docker容器中运行IronSecureDoc的过程是什么?

要在Docker容器中运行IronSecureDoc,使用`docker pull`命令获取镜像,然后使用必要的环境变量(如许可证密钥和端口)执行`docker container run`。此设置有助于在容器内进行安全文档处理。

如何在Docker环境中使用IronSecureDoc加密文档?

可以通过向其API发送POST请求来使用IronSecureDoc加密文档。使用`curl`命令上传文档,指定本地文件路径和加密参数。在Docker容器内执行此操作以保护文档。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。