使用 IRONSECUREDOC

Docker Compose 环境变量(开发人员教程)

发布 2024年十二月16日
分享:

介绍

在不同环境中部署应用程序往往会导致兼容性问题。 一个应用程序可能会在开发人员的机器上完美运行,但在测试或生产中却会因为操作系统、依赖性或配置的不同而遇到问题。 Docker 可以解决这个问题,它将应用程序打包成独立的单元,其中包括运行应用程序所需的一切,确保应用程序在从开发到生产的各个环节都能始终如一地运行。

Docker Compose 为容器化应用程序带来了强大的优势,尤其是它使用环境变量来简化不同设置的配置。 Docker Compose 允许在代码之外管理关键设置,从而使复杂应用程序的部署更简单、更安全。 在这些优势的基础上,本文还将介绍如何使用IronSecureDocDocker Compose 用于安全的文档处理,可灵活有效地处理加密和编辑配置。

什么是 Docker?

对接是一个开源系统,通过容器化简化应用程序的开发、部署和在系统中的运行。 容器是一种超轻量级的便携式单元,它包含应用程序及其依赖项,因此可以在从开发人员的机器到生产服务器的任何地方统一运行。 与传统虚拟机相比,容器共享主机操作系统的内核,因此速度更快,效果更好。

Docker Compose 环境变量(开发人员教程):图 1 - Docker 网页

这意味着需要一个 Docker 映像形式的虚拟化模板来制作和维护这套容器。 此外,该平台还包含 Docker Hub,它在某种程度上是一个容器镜像库。 这项技术的魅力在于其易用性、可扩展性、可移植性和高效性,这也是它在许多 DevOps 和基于云的开发工作流程中如此受欢迎的原因之一。

什么是 Docker-Compose 中的环境变量?

在 Docker 中,键值对形式的环境变量用于配置容器化应用程序中的设置。 这些变量对于在不修改代码的情况下控制应用程序本身的行为非常有用,因为数据库凭据、API 密钥或环境模式等配置都可以很容易地进行控制。(例如:开发、生产)可更改。

在 Docker 中,环境属性可以在 Dockerfile、docker-compose.yml 文件中定义,也可以在运行时使用 docker run 命令传递。 通过使用环境变量,Docker 可以在不同环境中一致、灵活地部署应用程序,并更有效地管理密码和 API 标记等敏感数据。

如何在 Docker 中创建环境变量?

我们可以通过多种方式在 Docker 中定义环境变量。 它们可以通过 Docker Compose 文件、docker-compose.yml 文件、环境文件,甚至在运行时执行 docker run 命令时定义。 请记住,将环境变量与主配置文件分开,可以更方便地组织变量! 下面列出了可用于定义变量的各种方法。

在 Docker 文件中设置环境变量

我们可以使用 ENV 指令直接在 Docker 文件中定义环境变量。 如果您想在 Docker 映像中包含变量的默认值,这可能会有所帮助。

# Dockerfile
ENV APP_ENV=devepolment
ENV DATABASE_URL=postgres://user:password@db:1234/mydev
# Dockerfile
ENV APP_ENV=devepolment
ENV DATABASE_URL=postgres://user:password@db:1234/mydev
#Dockerfile
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'ENV APP_ENV=devepolment ENV DATABASE_URL=postgres: 'user:password@db:1234/mydev
VB   C#

使用 Docker 文件中定义的值设置环境变量将自动导致容器的运行。

在 Docker-Compose.yml 中设置环境变量

我们可以借助环境关键字为 docker-compose.yml 中的每个服务定义环境变量。 当您使用 Docker Compose 管理几个服务时,这将非常方便。

version: '3.8'
services:
  myapp:
    image: myapp:latest
    environment:
      - APP_ENV=development
      - DATABASE_URL=postgres://user:password@db:1234/mydev
version: '3.8'
services:
  myapp:
    image: myapp:latest
    environment:
      - APP_ENV=development
      - DATABASE_URL=postgres://user:password@db:1234/mydev
version:
'INSTANT VB TODO TASK: The following line uses invalid syntax:
''3.8' services: myapp: image: myapp:latest environment: - APP_ENV=development - DATABASE_URL=postgres: 'user:password@db:1234/mydev
VB   C#

在运行时设置环境变量

在运行容器时,我们可以使用 -e 标志和 docker run 命令来指定环境变量。 这对瞬时值和动态值很有帮助,您可能不会将这些值添加到 Docker 文件中。

docker run -e APP_ENV=development -e DATABASE_URL=postgres://user:password@db:1234/mydev:latest
docker run -e APP_ENV=development -e DATABASE_URL=postgres://user:password@db:1234/mydev:latest
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker run -e APP_ENV=development -e DATABASE_URL=postgres: 'user:password@db:1234/mydev:latest
VB   C#

使用环境文件 (.env)

我们可以在类似 `.env` 的文件中存储环境变量,并将其加载到您的 Docker 容器中。 在 Docker Compose 中,我们将使用 env file 指令来引用它。

APP_ENV=production
DATABASE_URL=postgres://user:password@db:1234/mydev
APP_ENV=production
DATABASE_URL=postgres://user:password@db:1234/mydev
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'APP_ENV=production DATABASE_URL=postgres: 'user:password@db:1234/mydev
VB   C#

我们可以管理多个文件,并通过 env 文件管理配置文件之外的环境变量。

什么是 IronSecureDoc?

IronSecureDocfor Docker 允许开发人员在其容器化应用程序中轻松添加安全的文档处理功能。 最后,在学习了 Docker 之后,您就可以将 ASP.NET Core 应用程序与 IronSecureDoc 封装在一个同质环境中,从而使其更易于部署和扩展。 为此,您将创建一个 Dockerfile,使用 IronSecureDoc 库和可能需要的其他安装脚本或配置来协调 ASP.NET Core 应用程序的构建。

Docker Compose 环境变量(开发人员教程):图 2 - IronSecureDoc 网页

此外,它还包括一个 docker-compose.yml 文件,其中声明了服务依赖关系、环境变量和映射端口。 这样,执行文档安全任务就更容易了,这样您的应用程序就可以在开发或生产环境以外的环境中高效运行。 IronSecureDoc 的安装和配置 与 Docker 的情况一样,需要正确安装和配置 IronSecureDoc 才能正确实现其功能:文档加密、编辑等。

IronSecureDoc 的主要功能

IronSecureDoc 为 PDF 安全和文档管理提供了一系列强大功能:

  • 加密:提供基于密码的 128 位或 256 位加密,以保护文档机密性。
  • Redaction:删除敏感信息,如个人身份信息,以符合隐私标准和法规。
  • 数字签名:支持使用 .pfx 或 .p12 证书进行数字签名和公证,以确保文档的真实性。
  • REST API:灵活的 API 可实现与其他软件和工作流程的无缝集成。
  • Docker 集成:对 Docker 的本地支持简化了云或内部部署应用程序的部署和扩展。

    这些特点使 IronSecureDoc 成为处理敏感文件的部门(如法律、医疗保健和金融)的绝佳选择。

安装和运行 IronSecureDoc

步骤 1

要安装 IronSecureDoc,请在终端窗口或命令提示符中运行以下命令,从版本库中获取 IronSecureDoc Docker 镜像。

docker pull ironsoftwareofficial/ironsecuredoc
docker pull ironsoftwareofficial/ironsecuredoc
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker pull ironsoftwareofficial/ironsecuredoc
VB   C#

Docker Compose 环境变量(开发人员教程):图 3 - 获取 IronSecureDoc 映像的控制台输出

第二步

一旦 IronSecureDoc 图像被提取出来。 我们可以使用下面的 docker-compose 命令将映像运行到 docker 容器中。

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
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
VB   C#

Docker Compose 环境变量(开发人员教程):图 4 - 运行 IronSecureDoc 映像时的控制台输出

我们使用 docker 容器运行 IronSoftware 的官方资源库。 上图中的命令行分为几个部分,下面将对其进行解释。

命令解释

  • docker container run - 该命令使用给定的映像构建并启动一个新的 Docker 容器。
  • 一旦停止运行,--rm -** 会立即自动清理容器。 在完成任何流程时,它都会删除所有未使用的容器。
  • -p 8080:8080 - 让它发布容器的 8080 端口,这样您就可以从 http://localhost:8080 访问您机器上的容器。
  • -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> - 在运行容器中设置一个名为 IronSecureDoc_LicenseKey 的环境变量,使您可以打开和使用 IronSecureDoc 的授权功能。 将 <IRONSECUREDOC_LICENSE_KEY> 替换为您的实际密钥。
  • -e ENVIRONMENT=Development - 环境变量设置为开发环境。 这意味着容器需要在开发模式下运行。 通常,该容器用于测试或调试案例; 除此以外,它还与非生产配置有所不同。
  • -e HTTP_PORTS=8080 - 该环境变量用于指定容器应暴露并监听 8080 端口的 HTTP 流量。 它可以确保通过该特定端口访问容器内的服务。
  • ironsoftwareofficial/ironSecureDoc:latest - 这只是一个 Docker 镜像。 docker 适当时将创建最新版本的映像,该映像可从 IronSecureDoc 的 Docker 注册表中获取。

IronSecureDoc 容器

IronSecureDoc 的 REST API 可让用户在 Docker 中启动后对文档进行编辑、认证和加密; 此功能在其他地方也有提及。 以下是API 端点在 Docker 容器中启动 IronSecureDoc 后,即可使用 Swagger UI 和文档:http://localhost:8080/swagger/index.html

Docker Compose 环境变量(开发人员教程):图 5 - 用于与 API 端点交互的 Swagger UI

通过上述实例,我们可以向 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'
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'curl -X 'POST' \ 'http: -H 'accept: */ *' \ -H 'Content-Type: multipart/form-data' \ -F 'pdf_file=@test.pdf;type=application/pdf'
VB   C#

通过这样做,IronSecureDoc 将获得文档并正确加密。

结论

总之,Docker Compose 的环境变量允许以非常灵活和高效的方式配置应用程序,因为配置细节会自动从应用程序代码中分离出来。 因此,管理开发、测试和生产等不同环境变得更加简单,因为只需更改应用程序的 API 密钥、数据库凭据和设置等变量,而无需更改代码。

使用 Docker Compose 实现 IronSecureDoc 利用环境变量安全地处理许可信息,例如 IronSecureDoc_LicenseKey,以及使用环境变量指定 HTTP 端口或首选开发或生产环境模式。 使用环境变量进行设置可以简化 IronSecureDoc 的部署,减少杂乱无章和难以扩展的配置,并提高安全性。

通过有效的许可证的 IronSecureDoc。 工具的应用严格依赖于某些使用条款。 虽然您也可以使用其他高性能库,但IronSoftware该工具可使开发过程更轻松、更快捷,在处理 PDF、文本识别和条形码方面提供强大的功能,适用于任何可以想象到的应用。

Docker Compose 环境变量(开发人员教程):图 6 - IronSecureDoc 许可页面

< 前一页
Docker 容器列表(如何为开发人员工作)
下一步 >
Docker Compose Build(开发人员教程)

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

免费下载查看许可证 >