使用 IRONSECUREDOC

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

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

什么是 Docker?

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

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

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

什么是 Docker 容器?

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

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"]
VB   C#

构建 Docker 映像

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

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

docker build -t my-app .
docker build -t my-app .
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker build -t my-app.
VB   C#

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

运行 Docker 容器

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

docker run -d -p 3000:3000 --name my-running-app my-app
docker run -d -p 3000:3000 --name my-running-app my-app
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker run -d -p 3000:3000 --name my-running-app my-app
VB   C#
  • -d:脱离 Docker 容器的模式。
  • -map 3000:3000 在容器中将主机映射到容器的端口 3000。
  • --name my-running-app:为容器指定一个用户定义的名称。

验证容器

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

docker ps
docker ps
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker ps
VB   C#

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
VB   C#

Docker 从映像启动容器(开发人员教程):图 3 - 停止容器

什么是 IronSecureDoc?

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

Docker 从映像启动容器(开发人员教程):图 4 - IronSecureDoc:PDF 安全与合规性服务器

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

安装并运行 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 从映像启动容器(开发人员教程):图 5 - 下载 IronSecureDoc 映像

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

为 IronSecureDoc 创建新容器

docker container run --rm -p 8080:8080 -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
docker container run --rm -p 8080:8080 -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 ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
VB   C#

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

Docker 从映像启动容器(开发人员教程):图 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'
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,然后由 IronSecureDoc 对数据进行相应加密。

结论

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

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

< 前一页
Docker Compose 网络(面向开发人员的工作原理)
下一步 >
Docker sign PDF(开发人员教程

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

免费下载查看许可证 >