使用 IRONSECUREDOC

Docker Build Push Action(开发人员如何使用)

发布 2025年一月14日
分享:

什么是 Docker?

Docker是一个开源的强大工具,通过将应用程序放入轻量级、可移植的容器中,使构建、部署和管理应用程序变得更加容易。 容器打包应用程序及其依赖项,包括库、配置文件等,以便它能够在不同环境中运行。 这消除了所有兼容性问题,这意味着应用程序在开发人员的笔记本电脑上、服务器上或云端上的表现都将相同。 它通过高效构建工具、发货和运行,简化了开发、测试和扩展过程。容器,因此更简化地管理资源。

Docker 构建推送操作(开发人员如何操作):图 1 - Docker

什么是Docker镜像?

映像是 Docker 类型的蓝图,承载一致的运行时环境。 开发人员可以使用来自 Docker Hub 的现成图像、公共注册表,或创建自己的 Docker 图像。 Docker Compose 和 Kubernetes 等工具通过添加多容器设置的简单编排或管理更复杂的扩展需求,将 Docker 的功能进一步扩展。

为什么使用 Docker Build Push Action?

无摩擦自动化

手动构建和推送Docker镜像暴露在外、容易出错且耗时。 自动化这些步骤可确保可预测性,并在团队扩展或更新频繁时增加底线收益。

无摩擦集成

Docker Build Push Action 可以直接与 GitHub 代码库配合使用,以围绕代码推送、拉取请求或计划任务等事件创建工作流。

标准图像构建

自动化确保每次构建 Docker 镜像时,它们都是一样的; 从而减少在开发、预备和生产等多个环境中的错误/差异。

轻松部署

通过使用构建自动生成Docker镜像并将其推送到仓库,部署变得相对容易。 像 Kubernetes 或 Docker Swarm 这样的工具可以直接从 Docker 注册表中拉取或构建多平台镜像,从而减少停机时间。

Docker 构建推送操作如何工作

构建并推送 Docker 操作执行三项核心任务:

  1. 设置 Docker 登录:容器注册表身份验证以安全地推送 Docker 映像。

  2. 镜像构建:使用包含指令的Dockerfile运行Docker构建命令。

  3. 推送至注册表:它将构建的映像推送到目标容器注册表。

    这些步骤在GitHub Actions工作流文件中定义(.github/workflows/your-workflow.yml),在其中指定触发器、构建配置和注册表凭据。

实现 Docker 构建推送操作

1:准备您的存储库

  • 添加一个描述容器化应用程序的Dockerfile。
  • 添加构建所需的任何配置文件或脚本。
# Use Node.js as the base image
FROM node:14
# Set the working directory
WORKDIR /app
# Copy package.json and install dependencies
COPY package.json .
RUN npm install
# Copy the application code
COPY . .
# Expose the application’s port
EXPOSE 3000
# Start the application
CMD ["npm", "start"]
# Use Node.js as the base image
FROM node:14
# Set the working directory
WORKDIR /app
# Copy package.json and install dependencies
COPY package.json .
RUN npm install
# Copy the application code
COPY . .
# Expose the application’s port
EXPOSE 3000
# Start the application
CMD ["npm", "start"]
#Use Node.js as the base image
#Set the working directory
#Copy package.json and install dependencies
#Copy the application code
#Expose the application's port
#Start the application
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'FROM node:14 WORKDIR /app COPY package.json.RUN npm install COPY. . EXPOSE 3000 CMD ["npm", "start"]
VB   C#

2: 将注册表凭据添加为GitHub Secrets

要构建并推送 Docker 镜像到容器注册表,您需要凭证。 将这些添加为 GitHub Secrets:

  • 进入 GitHub 上的仓库设置。
  • 转到“Secrets and Variables > Actions”。

    添加以下密钥:

    用户名:您的 Docker Hub 用户名。

    密码:您的 Docker Hub 访问令牌或密码。

    对于其他注册表,这类似,但有时需要额外的凭证,例如,对于Amazon ECR,需要AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY。

    3:创建 GitHub Actions 工作流程

    在 .github/workflows/docker-build-push.yml 的 YAML 工作流文件中添加以下行。

name: Docker Build and Push
on:
  push:
    branches:
      - main
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      # Step 1: Check out the repository
      - name: Checkout code
        uses: actions/checkout@v3
      # Step 2: Log in to Docker Hub
      - name: Log in to Docker Hub
        uses: docker/login-action@v2
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}
      # Step 3: Build and push the Docker image
      - name: Build and push
        uses: docker/build-push-action@v4
        with:
          context: .
          push: true
          tags: username/repository:latest
name: Docker Build and Push
on:
  push:
    branches:
      - main
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      # Step 1: Check out the repository
      - name: Checkout code
        uses: actions/checkout@v3
      # Step 2: Log in to Docker Hub
      - name: Log in to Docker Hub
        uses: docker/login-action@v2
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}
      # Step 3: Build and push the Docker image
      - name: Build and push
        uses: docker/build-push-action@v4
        with:
          context: .
          push: true
          tags: username/repository:latest
Private name:
	  #Step 1: Check out the repository
	  #Step 2: Log in to Docker Hub
Docker Build [and] Push [on]: push: branches: - main jobs: build: runs-[on]: ubuntu-latest steps: - name: Checkout code uses: actions/checkoutv3 - name: Log in [to] Docker Hub uses: docker/login-actionv2 [with]: username: ReadOnly Property $() As
	If True Then
		secrets.DOCKER_USERNAME
	End If
End Property
		  Private password:
		  $
		  If True Then
			  If True Then
				  secrets.DOCKER_PASSWORD
			  End If
		  End If
	  #Step 3: Build and push the Docker image
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'	  - name: Build @and push uses: docker/build-push-action@v4 @with: context: .push: True tags: username/repository:latest
VB   C#

推送到主分支: 该工作流将在每次推送到主分支时触发。

结账代码: 使用 actions/checkout 操作来检出存储库。

登录到注册表: 使用提供的密钥验证Docker Hub身份。

构建和推送: 运行 Docker Build Push Action,它将从当前目录构建镜像直到上下文,并将其推送到用户名/仓库:latest。

将工作流文件提交到您的存储库。 只需轻轻一推,工作流程就会触发以构建图像并将其推送到您指定的注册表中。

什么是 IronSecureDoc?

IronSecureDoc是Iron Software新开发的产品,专门为通过相当强大的加密和控制来保护数字文档(主要是PDF)而设计。 这将进一步使一个组织能够安装像 AES-256 这样的高级加密协议,以便未经授权的许可,无法查看所述敏感信息。 这意味着由于有打印、编辑和复制的限制以及自定义权限,该文件只能由授权用户打开。 此外,密码保护和数字签名增强了文档和水印的安全性和完整性。

Docker 构建推送操作(开发人员如何使用):图 2 - IronSecureDoc:PDF 安全性和合规性服务器

IronSecureDoc 对开发者友好,并可以通过 Docker 或其他编程环境轻松托管应用程序,因此应能够适应许多业务工作流程。 例如,在医疗、金融和法律领域,文档的保密性至关重要。 IronSecureDoc结合了在组织内部对文档进行加密和控制的功能,确保文档安全保存,从而实现合规、便捷且安全地与外部合作伙伴或客户共享。

IronSecureDoc 如何工作

IronSecureDoc 以 Docker 容器的形式提供,通过 API 端点提供构建功能的曝光,使其保持可扩展性和一致性。 开发人员从容器注册表中提取一个预构建的IronSecureDoc Docker镜像并将其包含在他们的应用程序中。

使用IronSecureDoc的文档工作流程

  • 使用 Docker Build Push Action 创建并推送 IronSecureDoc 容器。
  • 在像 AWS ECS 或 Kubernetes 这样的云平台上部署相同的容器。
  • 将您的应用程序集成到IronSecureDoc,以进行任何文档操作。

安装并运行 IronSecureDoc

要从以下 GitHub 仓库中拉取 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 构建推送操作(开发人员如何工作):图 3 - 拉取 Docker 映像

从 Docker 容器中提取图像后,我们可以使用另一个命令启动 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
'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 运行命令将创建 IronSecureDoc 的容器实例。

使用 IronSecureDoc

IronSecureDoc 的 REST API 已在其他地方讨论过,但基本上,它允许用户在安装和启动 Docker 后立即对文档进行修订、认证和加密。 以下是链接到文档。

Docker Build Push Action(开发人员如何使用):图 4 - REST API

我们也可以通过向IronSecureDoc API发送请求来加密文档,如下所示:

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 Build Push Action和IronSecureDoc。 它们合并了两个非常强大的工具,这些工具使能够将工作流程容器化成为可能,同时实现自动化和可扩展的安全开发。 Docker Build Push Action 负责容器镜像开发过程中自动构建和部署,而 IronSecureDoc 负责这些容器内的强大文档安全性。 这一切归结为开发人员的精简流程和跨环境的可靠性能。 无论您是在管理应用程序的部署还是保护敏感文档,您的工作流程中的这些工具都将推动您向现代高效软件开发迈进。

IronSecureDoc:可以添加文档特定的安全功能,包括文件加密、访问控制以及使用数字签名对文档的真实性进行验证。 Docker 证书与 IronSecureDoc 共同提供全周期安全性,保护从基础设施到存储的敏感数据的所有内容。 要了解有关IronSecureDoc许可证的更多信息,请访问许可页面. 要了解有关Iron Software许多产品的信息,请访问此库套件链接.

< 前一页
Coolify Docker Compose(开发人员的工作原理)
下一步 >
如何在 Docker 中使用 C# 安全保护 PDF API

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

免费下载查看许可证 >