使用容器或 Dockerfile 运行 Pod
本教程涵盖了从容器或 Dockerfile 运行 Pod 所需的以下端到端任务
- 构建镜像
- 创建容器
- 创建和运行 Pod
创建容器时,您可以设置以下配置
-
使用 **基本** 配置,您可以选择
-
定义卷以配置持久存储位置。为此,您必须设置主机目录,然后将此目录挂载到容器。即使您的容器停止或失败,您也可以在主机目录中保持应用程序数据完整。
-
定义端口映射以创建可从外部访问的容器。为此,您必须将主机端口与容器端口映射。此映射完成后,对主机端口的任何请求都会转发到容器中的端口。
-
选择一个包含容器环境变量的文件。此文件以
key=value
格式包含数据。
-
-
使用 **高级** 配置,您可以选择
- 自动删除容器
- 指定可以运行容器的用户 ID
- 选择重新启动策略,该策略定义了容器在退出时是否应重新启动
-
使用 **网络** 配置,您可以选择定义
- 容器主机名
- 自定义 DNS 服务器
- 其他主机
- 容器的网络模式
-
使用 **安全性** 配置,您可以选择
- 保护您的容器资源
- 使容器根文件系统只读
- 添加或删除安全功能
- 指定一个命名空间,以将容器的使用限制为具有已定义权限和所有权的用户组
开始之前
确保您拥有
- 已安装 Podman Desktop.
- 正在运行的 Podman 机器.
- 开发人员角色。
- 如果您机器上没有 Dockerfile,请使用以下代码创建一个 Dockerfile
# 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 路径:选择放置容器或 Dockerfile 的路径。
- 构建上下文目录:该字段会根据文件路径自动选择上下文目录。
- 镜像名称:如果需要,请输入镜像名称。
- 构建参数:传递构建镜像所需的参数。此示例使用参数,例如
NODE_VERSION
和ALPINE_VERSION
- 平台:更改要构建镜像的平台。默认平台为英特尔和 AMD x86_64 系统。
-
点击 **构建**。镜像开始构建。
-
镜像构建成功后,点击 **完成**。
-
在 **镜像** 页面上查看新创建的镜像。
创建容器
-
点击左侧导航窗格中的 **镜像**。
-
点击与要运行的镜像相对应的 **运行镜像** 图标。**从镜像创建容器页面** 将会打开。
-
可选:配置容器的基本详细信息:
-
可选:选择 **高级** 选项卡以配置容器的高级详细信息:
-
可选:选择 **网络** 选项卡以配置容器的网络详细信息:
-
可选:选择 **安全性** 选项卡以配置容器的安全详细信息:
-
点击 **启动容器**。
-
查看 **容器详细信息** 页面以获取信息,例如摘要、日志、YAML 代码,并访问终端。
-
点击页面右侧的 **关闭** 图标。
-
在 **容器** 页面上查看新创建的容器。
创建和运行 Pod
-
从左侧导航窗格中转到 **容器**。
-
从容器列表中选择容器。
-
点击 **创建 Pod**。**将容器复制到 Pod 页面** 将会打开。
-
如果需要,更改 Pod 的名称,然后点击 **创建 Pod**。
-
在 **Pod** 页面上查看新创建的 Pod。
-
点击与您创建的 Pod 相对应的 **启动 Pod** 图标。
-
检查该 Pod 是否在同一页面上运行。