Iron Suite for .NET
10个.NET库。一整套文档。
从镜像启动 Docker 容器(开发者教程)
什么是Docker?
Docker 是一个开源平台,可以在轻量级、便携的容器中自动部署和管理应用程序。 容器将应用程序与其依赖项(包括库和配置文件)打包在一起,因此可以在不同的环境中一致地运行。 这种一致性使开发和测试更加简单,因为应用程序在不同系统上可以相同地运行——无论是在开发人员的笔记本电脑、服务器还是云环境中。 应用程序管理的可扩展性意味着高效地开发、交付和运行容器,而 Docker 使之变得容易。

Docker 镜像使开发人员为一致的运行时环境进行规范变得更加简单。 大多数预构建的镜像可以在称为 Docker Hub 的开放注册表中找到,开发人员可以直接使用或自行定制。对于涉及多个容器的应用,像 Docker Compose 这样的工具可以编排容器,而 Kubernetes 可以管理更复杂的扩展和自动化。 Docker 已成为软件开发和 DevOps 中的重要工具。
什么是 Docker 容器?
Docker 容器 本质上是将应用程序及其所有依赖项—如库、二进制文件和配置文件—打包成一个轻量独立的可执行实体。 在隔离中设计的容器在主机操作系统的内核顶部运行,避免与其他正在运行的软件干扰。 它们易于启动、停止或删除,非常适合测试、部署和扩展。
Docker 容器的特性
- **隔离性:**容器在隔离的环境中运行; 即使它们使用不同的依赖集或库,应用程序也不会互相冲突。
- **轻量级:**容器共享主机操作系统内核,因此它们比虚拟机(VMs)更小,启动时间更快。
- **可移植性:**容器是确定的,可以在任何使用 Docker 的系统上运行,确保开发、测试和生产环境的一致性。
- **可扩展性:**容器可以轻松复制和扩展,支持微服务的快速部署和管理。
- **资源效率:**容器消耗的资源比虚拟机少,允许更高的密度和高效的计算资源利用。
什么是 Docker 镜像?
Docker 镜像是一种用于创建容器的蓝图。 它是只读且分层的,详细说明了运行应用程序所需的系统文件和依赖项。 使用 Dockerfiles 创建镜像,指定如何构建 Docker 镜像,可能涉及安装软件或复制文件等任务。 对 Dockerfile 的每次修改创建一个新的镜像层,保持效率和模块化。
Docker 镜像的特性
- **多级栈:**镜像使用 Dockerfiles 通过层构建。 Dockerfile 中的每条指令都会增加一个层,因此镜像应优化以仅重建更改的层。
- **可重用性:**像 Ubuntu 或 Node.js 这样的基础镜像可以在项目间重用,节省开发时间和资源。
- **版本控制:**镜像可以打标签进行版本控制,如果需要可以更容易地回滚到以前的版本。
- **模块化:**镜像的更改是增量的,使得无需重建整个镜像即可进行简单的更新。
- **可在 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"]
构建 Docker 镜像
using Dockerfile 创建您的 Docker 镜像。 在其所在目录的终端命令行中,执行:
确保在执行以下命令之前安装 Docker Desktop。
docker build -t my-app .
此命令创建一个名为my-app的镜像。 要确认它已经创建,执行:
docker images
运行 Docker 容器
利用镜像,可以创建一个Docker容器,然后使用docker run命令运行它。 Docker 守护进程将启动并监控进程,可在分离模式(后台)或前台运行。
docker run -d -p 3000:3000 --name my-running-app my-app
-d:在分离模式下运行容器。-p 3000:3000:将主机的端口3000映射到容器中的端口3000。--name my-running-app:为容器分配一个用户定义的名称。
验证容器
要检查正在运行的 Docker 容器,使用:
docker ps

上述命令显示运行容器的详细信息,包括容器ID、名称、镜像名称等。
停止和移除容器
# Stop container
docker stop dazzling_snyder
# Remove container
docker rm dazzling_snyder

IronSecureDoc是什么?
IronSecureDoc Docker 是 Iron Software 提供的一个容器化文档处理解决方案,可以在 Docker 环境中自动处理文档,无需人工介入。 它提供复杂的文档工作流程和最大的数据保护功能,包括加密、数字签名、解密、添加水印等,适用于 PDF 和文档文件。 它确保跨平台的一致和可扩展的隔离部署,使其适合 DevOps 和 CI/CD 管道集成。

这种容器化的方法增强了需要自动化和高安全性的应用程序中的文档处理,兼容微服务和云原生环境。 IronSecureDoc 对于创建需要在受控和便携的 Docker 环境中可靠地自动文档处理的应用程序的开发者特别有用。
安装并运行 IronSecureDoc
从命令提示符或终端窗口执行以下命令,从存储库下载 IronSecureDoc Docker 镜像:
docker pull ironsoftwareofficial/ironsecuredoc

在拉取 Docker 镜像后,执行另一个命令以启动 IronSecureDoc 容器。
为IronSecureDoc创建新容器
docker container run --rm -p 8080:8080 -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
上述docker run命令创建了一个IronSecureDoc的容器实例。

使用 IronSecureDoc 容器
IronSecureDoc 使用户能够安装和运行 Docker,通过其 REST 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,其将根据需要处理和加密数据。
结论
简单来说,Docker 简化了应用程序的部署,因为开发者可以从镜像创建一个容器,从而在便携和可扩展的环境中确保一致性。 这导致在跨平台中高效地运行应用程序,并促进资源利用,提升 DevOps 和 CI/CD 管道。
类似地,IronSecureDoc Docker 利用 Docker 的容器化架构提供安全的自动文档处理解决方案。 Docker 和 IronSecureDoc 结合起来,为在现代软件开发中构建安全、可扩展的应用程序提供了强大的工具。 有关 IronSecureDoc 许可证信息,请点击此许可页面,关于 Iron Software 的许多产品详情,请访问库套件页面。