使用容器或 Dockerfile 运行 pod
本教程涵盖了从容器或 docker 文件运行 Pod 所需的以下端到端任务
- 构建镜像
- 创建容器
- 创建并运行 Pod
创建容器时,可以设置以下配置
-
通过基本配置,您可以选择
-
定义卷以配置持久存储位置。为此,您必须设置一个主机目录,然后将此目录挂载到容器。即使容器停止或失败,您也可以将应用程序数据完整地保存在主机目录中。
-
定义端口映射以创建可从外部访问的容器。为此,您必须将主机端口与容器端口进行映射。此映射后,对主机上端口的任何请求都会转发到容器中的端口。
-
选择一个包含容器环境变量的文件。此文件包含`key=value`格式的数据。
-
-
通过高级配置,您可以选择
- 自动移除容器
- 指定可以运行容器的用户的 ID
- 选择重启策略,该策略定义容器是否应在退出时重启
-
通过网络配置,您可以定义
- 容器主机名
- 自定义 DNS 服务器
- 额外的主机
- 容器的网络模式
-
通过安全配置,您可以选择
- 保护容器资源
- 使容器根文件系统只读
- 添加或删除安全功能
- 指定命名空间以将容器的使用限制为具有定义权限和所有权的用户组
准备工作
请确保您已具备:
- 已安装 Podman Desktop.
- 一个正在运行的 Podman machine.
- 开发者角色。
- 如果您的机器上没有 docker 文件,请使用以下代码创建 docker 文件
# syntax=docker/dockerfile:1
ARG NODE_VERSION
ARG ALPINE_VERSION
FROM node:${NODE_VERSION}-alpine${ALPINE_VERSION} AS base
WORKDIR /src
FROM base AS build
COPY package*.json ./
RUN npm ci
RUN npm run build
FROM base AS production
COPY package*.json ./
RUN npm ci --omit=dev && npm cache clean --force
COPY /src/dist/ .
CMD ["node", "app.js"]
构建镜像
-
单击左侧导航窗格中的容器。
-
单击创建。
-
在从 Containerfile 构建镜像页面上,提供以下详细信息
- Containerfile 路径:选择容器或 docker 文件所在的路径。
- 构建上下文目录:该字段根据文件路径自动选择上下文目录。
- 镜像名称:如果需要,输入镜像名称。
- 构建参数:传递构建镜像所需的参数。此示例使用`NODE_VERSION`和`ALPINE_VERSION`等参数
- 平台:更改您要构建镜像的平台。默认平台是 Intel 和 AMD x86_64 系统。
-
单击构建。镜像开始构建。
-
镜像成功构建后,单击完成。
-
在镜像页面上查看新创建的镜像。
创建容器
-
单击左侧导航窗格中的镜像。
-
单击要运行的镜像对应的运行镜像图标。从镜像创建容器页面打开。
-
可选:配置容器的基本详细信息:
-
可选:选择高级选项卡以配置容器的高级详细信息:
-
可选:选择网络选项卡以配置容器的网络详细信息:
-
可选:选择安全选项卡以配置容器的安全详细信息:
-
单击启动容器。
-
查看容器详细信息页面以获取摘要、日志、YAML 代码等信息,并访问终端。
-
单击页面右侧的关闭图标。
-
在容器页面上查看新创建的容器。
创建并运行 Pod
-
从左侧导航窗格转到容器。
-
从容器列表中选择容器。
-
单击创建 Pod。将容器复制到 Pod页面打开。
-
如果需要,更改 Pod 的名称,然后单击创建 Pod。
-
在Pod页面上查看新创建的 Pod。
-
单击您创建的 Pod 对应的启动 Pod图标。
-
检查 Pod 是否在同一页面上运行。