16.9. 在 Podman 容器内构建容器
您可以使用 Podman 在容器中运行容器。本例演示了如何使用 Podman 在此容器内构建并运行另一个容器。容器将运行"Moon-buggy",这是一个基于文本的简单游戏。
先决条件
-
container-tools
元数据包已安装。 登陆到 registry.redhat.io 注册中心:
podman login registry.redhat.io
# podman login registry.redhat.io
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
流程
运行基于
registry.redhat.io/rhel10/podman
镜像的容器:podman run --privileged --name podman_container -it \ registry.redhat.io/rhel10/podman /bin/bash
# podman run --privileged --name podman_container -it \ registry.redhat.io/rhel10/podman /bin/bash
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
运行基于
registry.redhat.io/rhel10/podman
镜像的、名为podman_container
的外部容器。 -
--it
选项指定您要在容器内运行交互式 bash shell。 -
--privileged
选项禁用将容器与主机隔离的安全功能。
-
运行基于
在
podman_container
容器中创建一个Containerfile
:vi Containerfile
# vi Containerfile FROM registry.access.redhat.com/ubi10/ubi RUN dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm RUN dnf -y install moon-buggy && dnf clean all CMD ["/usr/bin/moon-buggy"]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Containerfile
中的命令会导致以下构建命令:-
从
registry.access.redhat.com/ubi10/ubi
镜像构建容器。 -
安装
epel-release-latest-8.noarch.rpm
软件包。 -
安装
moon-buggy
软件包。 - 设置容器命令。
-
从
使用
Containerfile
构建名为moon-buggy
的新容器镜像:podman build -t moon-buggy .
# podman build -t moon-buggy .
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:列出所有镜像:
podman images
# podman images REPOSITORY TAG IMAGE ID CREATED SIZE localhost/moon-buggy latest c97c58abb564 13 seconds ago 1.67 GB registry.access.redhat.com/ubi10/ubi latest 4199acc83c6a 132seconds ago 213 MB
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行一个基于
moon-buggy
容器的新容器:podman run -it --name moon moon-buggy
# podman run -it --name moon moon-buggy
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:标记
moon-buggy
镜像:podman tag moon-buggy registry.example.com/moon-buggy
# podman tag moon-buggy registry.example.com/moon-buggy
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:将
moon-buggy
镜像推送到注册中心:podman push registry.example.com/moon-buggy
# podman push registry.example.com/moon-buggy
Copy to Clipboard Copied! Toggle word wrap Toggle overflow