1.6. 使用 kubedock 运行容器
Kubedock 是一个最小的容器引擎实现,您可以在 OpenShift Dev Spaces 工作区内为您提供类似 Podman-/docker 的体验。在处理临时、临时和测试容器时,Kubedock 特别有用,比如在以下列出的用例中:
- 执行依赖 Testcontainers 框架的应用程序测试。
- 使用 Quarkus Dev Services.
- 运行存储在远程容器注册表中的容器,用于本地开发目的
您要与 kubedock 搭配使用的镜像必须符合 Openshift Container Platform 指南。否则,使用 kubedock 运行镜像会导致失败,即使同一镜像在没有问题的情况下在本地运行。
启用 kubedock
启用 kubedock 环境变量后,kubedock 将运行以下 podman 命令:
-
Podman 运行 -
Podman ps -
podman exec -
podman cp -
podman logs -
podman inspect -
Podman kill -
podman rm -
Podman wait -
Podman stop -
Podman start
podman build 等其他命令由本地 Podman 启动。
在 kubedock 中使用 podman 命令有以下限制
-
podman build -t <image> . && podman run <image> 命令将失败。使用podman build -t <image> . && podman push <image> && podman run <image> 替代。 -
不支持
podman generate kube命令。 -
--env选项会导致podman run命令失败。
先决条件
Process
将
KUBEDOCK_ENABLED=true环境变量添加到 devfile。(可选)使用
KUBEDOCK_PARAM变量来指定额外的 kubedock 参数。变量列表位于 此处。另外,您可以使用以下命令查看可用选项:kubedock server --help
# kubedock server --helpCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Example
您必须在运行容器时将 Podman 或 docker API 配置为指向 kubedock 设置 CONTAINER_HOST=tcp://127.0.0.1:2475 或 DOCKER_HOST=tcp://127.0.0.1:2475。
同时,您必须将 Podman 配置为在构建容器时指向本地 Podman。