在生产环境中测试,无水印。
随时随地满足您的需求。
获得30天的全功能产品。
几分钟内就能启动并运行。
在您的产品试用期间,全面访问我们的支持工程团队。
在不同环境中部署应用程序往往会导致兼容性问题。 一个应用程序可能会在开发人员的机器上完美运行,但在测试或生产中却会因为操作系统、依赖性或配置的不同而遇到问题。 Docker 可以解决这个问题,它将应用程序打包成独立的单元,其中包括运行应用程序所需的一切,确保应用程序在从开发到生产的各个环节都能始终如一地运行。
Docker Compose 为容器化应用程序带来了强大的优势,尤其是它使用环境变量来简化不同设置的配置。 Docker Compose 允许在代码之外管理关键设置,从而使复杂应用程序的部署更简单、更安全。 在这些好处的基础上,本文还将展示如何使用IronSecureDoc进行安全的文档处理,利用Docker Compose的灵活性高效处理加密和去除敏感信息的配置。
Docker 是一个开源系统,通过容器化简化应用程序的开发、部署和运行。 容器是一种超轻量级的便携式单元,它包含应用程序及其依赖项,因此可以在从开发人员的机器到生产服务器的任何地方统一运行。 与传统虚拟机相比,容器共享主机操作系统的内核,因此速度更快,效果更好。
这意味着需要一个 Docker 映像形式的虚拟化模板来制作和维护这套容器。 此外,该平台还包含 Docker Hub,它在某种程度上是一个容器镜像库。 这项技术的魅力在于其易用性、可扩展性、可移植性和高效性,这也是它在许多 DevOps 和基于云的开发工作流程中如此受欢迎的原因之一。
在 Docker 中,键值对形式的环境变量用于配置容器化应用程序中的设置。 这样的变量可以用来控制应用程序本身的行为,而无需修改其代码,因为可以轻松更改诸如数据库凭证和API密钥或环境模式(例如:开发、生产)等配置。
在 Docker 中,环境属性可以在 Dockerfile、docker-compose.yml 文件中定义,也可以在运行时使用 docker run 命令传递。 通过使用环境变量,Docker 可以在不同环境中一致、灵活地部署应用程序,并更有效地管理密码和 API 标记等敏感数据。
我们可以通过多种方式在 Docker 中定义环境变量。 它们可以通过 Docker Compose 文件、docker-compose.yml 文件、环境文件,甚至在运行时执行 docker run 命令时定义。 请记住,将环境变量与主配置文件分开可以更轻松地组织变量! 下面列出了可用于定义变量的各种方法。
我们可以使用 ENV 指令直接在 Docker 文件中定义环境变量。 如果您想在 Docker 映像中包含变量的默认值,这可能会有所帮助。
# Dockerfile
ENV APP_ENV=devepolment
ENV DATABASE_URL=postgres://user:password@db:1234/mydev
使用 Docker 文件中定义的值设置环境变量将自动导致容器的运行。
我们可以借助环境关键字为 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
在运行容器时,我们可以使用 -e 标志和 docker run 命令来指定环境变量。 这对瞬时值和动态值很有帮助,您可能不会将这些值添加到 Docker 文件中。
docker run -e APP_ENV=development -e DATABASE_URL=postgres://user:password@db:1234/mydev:latest
我们可以将环境变量存储在类似于 .env
的文件中,并将其加载到您的 Docker 容器中。 在 Docker Compose 中,我们将使用env 文件指令来引用它。
APP_ENV=production
DATABASE_URL=postgres://user:password@db:1234/mydev
我们可以管理多个文件,并通过 env 文件管理配置文件之外的环境变量。
IronSecureDoc for Docker 允许开发者轻松地为其容器化应用程序添加安全的文档处理功能。 最后,在学习了 Docker 之后,您就可以将 ASP.NET Core 应用程序与 IronSecureDoc 封装在一个同质环境中,从而使其更易于部署和扩展。 为此,您将创建一个 Dockerfile,使用 IronSecureDoc 库和可能需要的其他安装脚本或配置来协调 ASP.NET Core 应用程序的构建。
此外,它还包括一个 docker-compose.yml 文件,其中声明了服务依赖关系、环境变量和映射端口。 这样,执行文档安全任务就更容易了,这样您的应用程序就可以在开发或生产环境以外的环境中高效运行。 IronSecureDoc 的安装和配置 与 Docker 的情况一样,需要正确安装和配置 IronSecureDoc 才能正确实现其功能:文档加密、编辑等。
IronSecureDoc 为 PDF 安全和文档管理提供了一系列强大功能:
Docker 集成:对 Docker 的原生支持简化了云端或本地应用程序的部署和扩展。
这些特点使 IronSecureDoc 成为处理敏感文件的部门(如法律、医疗保健和金融)的绝佳选择。
要安装 IronSecureDoc,请在终端窗口或命令提示符中运行以下命令,从版本库中获取 IronSecureDoc Docker 镜像。
docker pull ironsoftwareofficial/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 容器运行 IronSoftware 的官方资源库。 上图中的命令行分为几个部分,下面将对其进行解释。
docker container run
- 此命令使用给定的镜像来构建和启动一个新的 Docker 容器。IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY>
- 在正在运行的容器中设置名为 IronSecureDoc_LicenseKey 的环境变量,使您能够启用和使用 IronSecureDoc 的授权功能。 将 <IRONSECUREDOC_LICENSE_KEY> 替换为您的实际密钥。-e ENVIRONMENT=Development
- 环境变量设置为 Development。 这意味着容器需要在开发模式下运行。 通常,该容器用于测试或调试案例; 除此以外,它还与非生产配置有所不同。-e HTTP_PORTS=8080
- 这个环境变量用于指定容器应开放并监听8080端口以处理HTTP流量。 它可以确保通过该特定端口访问容器内的服务。ironsoftwareofficial/ironsecuredoc:latest
- 这只是一个 Docker 映像。 docker 适当时将创建最新版本的映像,该映像可从 IronSecureDoc 的 Docker 注册表中获取。IronSecureDoc 的 REST API 可让用户在 Docker 中启动后对文档进行编辑、认证和加密; 此功能在其他地方也有提及。 以下是API 端点和 Swagger UI 文档的链接,当您在 Docker 容器中启动 IronSecureDoc 后:http://localhost:8080/swagger/index.html
。
通过上述实例,我们可以向 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 将获得文档并正确加密。
总之,Docker Compose 的环境变量允许以非常灵活和高效的方式配置应用程序,因为配置细节会自动从应用程序代码中分离出来。 因此,管理开发、测试和生产等不同环境变得更加简单,因为只需更改应用程序的 API 密钥、数据库凭据和设置等变量,而无需更改代码。
使用 Docker Compose 实现 IronSecureDoc 利用环境变量安全地处理许可信息,例如 IronSecureDoc_LicenseKey,以及使用环境变量指定 HTTP 端口或首选开发或生产环境模式。 使用环境变量进行设置可以简化 IronSecureDoc 的部署,减少杂乱无章和难以扩展的配置,并提高安全性。
通过 IronSecureDoc 的有效许可证可访问高级功能。 工具的应用严格依赖于某些使用条款。 尽管您也可以利用其他由Iron Software提供的高性能库,使开发过程更轻松、更快捷,并为任何设想的应用程序提供处理PDF、文字识别和条形码的强大功能。