在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
Docker是一个开源的强大工具,通过将应用程序放入轻量级、可移植的容器中,使构建、部署和管理应用程序变得更加容易。 容器打包应用程序及其依赖项,包括库、配置文件等,以便它能够在不同环境中运行。 这消除了所有兼容性问题,这意味着应用程序在开发人员的笔记本电脑上、服务器上或云端上的表现都将相同。 它通过高效构建工具、发货和运行,简化了开发、测试和扩展过程。容器,因此更简化地管理资源。
映像是 Docker 类型的蓝图,承载一致的运行时环境。 开发人员可以使用来自 Docker Hub 的现成图像、公共注册表,或创建自己的 Docker 图像。 Docker Compose 和 Kubernetes 等工具通过添加多容器设置的简单编排或管理更复杂的扩展需求,将 Docker 的功能进一步扩展。
无摩擦自动化
手动构建和推送Docker镜像暴露在外、容易出错且耗时。 自动化这些步骤可确保可预测性,并在团队扩展或更新频繁时增加底线收益。
无摩擦集成
Docker Build Push Action 可以直接与 GitHub 代码库配合使用,以围绕代码推送、拉取请求或计划任务等事件创建工作流。
标准图像构建
自动化确保每次构建 Docker 镜像时,它们都是一样的; 从而减少在开发、预备和生产等多个环境中的错误/差异。
轻松部署
通过使用构建自动生成Docker镜像并将其推送到仓库,部署变得相对容易。 像 Kubernetes 或 Docker Swarm 这样的工具可以直接从 Docker 注册表中拉取或构建多平台镜像,从而减少停机时间。
构建并推送 Docker 操作执行三项核心任务:
设置 Docker 登录:容器注册表身份验证以安全地推送 Docker 映像。
镜像构建:使用包含指令的Dockerfile运行Docker构建命令。
推送至注册表:它将构建的映像推送到目标容器注册表。
这些步骤在GitHub Actions工作流文件中定义(.github/workflows/your-workflow.yml),在其中指定触发器、构建配置和注册表凭据。
1:准备您的存储库
# 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"]
2: 将注册表凭据添加为GitHub Secrets
要构建并推送 Docker 镜像到容器注册表,您需要凭证。 将这些添加为 GitHub Secrets:
转到“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
推送到主分支: 该工作流将在每次推送到主分支时触发。
结账代码: 使用 actions/checkout 操作来检出存储库。
登录到注册表: 使用提供的密钥验证Docker Hub身份。
构建和推送: 运行 Docker Build Push Action,它将从当前目录构建镜像直到上下文,并将其推送到用户名/仓库:latest。
将工作流文件提交到您的存储库。 只需轻轻一推,工作流程就会触发以构建图像并将其推送到您指定的注册表中。
IronSecureDoc是Iron Software新开发的产品,专门为通过相当强大的加密和控制来保护数字文档(主要是PDF)而设计。 这将进一步使一个组织能够安装像 AES-256 这样的高级加密协议,以便未经授权的许可,无法查看所述敏感信息。 这意味着由于有打印、编辑和复制的限制以及自定义权限,该文件只能由授权用户打开。 此外,密码保护和数字签名增强了文档和水印的安全性和完整性。
IronSecureDoc 对开发者友好,并可以通过 Docker 或其他编程环境轻松托管应用程序,因此应能够适应许多业务工作流程。 例如,在医疗、金融和法律领域,文档的保密性至关重要。 IronSecureDoc结合了在组织内部对文档进行加密和控制的功能,确保文档安全保存,从而实现合规、便捷且安全地与外部合作伙伴或客户共享。
IronSecureDoc 以 Docker 容器的形式提供,通过 API 端点提供构建功能的曝光,使其保持可扩展性和一致性。 开发人员从容器注册表中提取一个预构建的IronSecureDoc Docker镜像并将其包含在他们的应用程序中。
使用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
从 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
上述 Docker 运行命令将创建 IronSecureDoc 的容器实例。
IronSecureDoc 的 REST API 已在其他地方讨论过,但基本上,它允许用户在安装和启动 Docker 后立即对文档进行修订、认证和加密。 以下是链接到文档。
我们也可以通过向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'
这将自动将文档路由到IronSecureDoc,在那里它将被正确加密。
一切始于Docker Build Push Action和IronSecureDoc。 它们合并了两个非常强大的工具,这些工具使能够将工作流程容器化成为可能,同时实现自动化和可扩展的安全开发。 Docker Build Push Action 负责容器镜像开发过程中自动构建和部署,而 IronSecureDoc 负责这些容器内的强大文档安全性。 这一切归结为开发人员的精简流程和跨环境的可靠性能。 无论您是在管理应用程序的部署还是保护敏感文档,您的工作流程中的这些工具都将推动您向现代高效软件开发迈进。
IronSecureDoc:可以添加文档特定的安全功能,包括文件加密、访问控制以及使用数字签名对文档的真实性进行验证。 Docker 证书与 IronSecureDoc 共同提供全周期安全性,保护从基础设施到存储的敏感数据的所有内容。 要了解有关IronSecureDoc许可证的更多信息,请访问许可页面. 要了解有关Iron Software许多产品的信息,请访问此库套件链接.
10 个 .NET API 产品 用于您的办公文件