meta-virtualization 层,即可在 Qualcomm Linux 设备上使用容器。
验证 Docker 守护进程的状态
qcom-multimedia-image 已启用 Docker。
对于 qcom-multimedia-image 镜像配方,packagegroup-container 通过 meta-qcom-distro/recipes-products/images/qcom-multimedia-image.bb 被包含进来。packagegroup-container 在 meta-virtualization 层的 recipes-core/packagegroups/packagegroup-container.bb 中定义。镜像构建并烧录完成后,Docker 及其所有前置条件和依赖项即可在设备上使用。
要验证 Docker 守护进程的状态,请运行以下命令并检查输出:
从 Docker 仓库拉取的、面向
linux/arm64 平台且经过测试可在设备上成功运行的镜像如下:
在启用 Docker 的情况下,以下用例已通过验证:
busyboxpythonalpineubuntupostgresmongonginxredis
- 使用 Docker load 工具从 tar 文件加载 Docker 镜像。
- 从 Docker 文件构建 Docker 镜像。
- 将拉取/构建的 Docker 镜像保存为
.tar文件。 - 加载保存为
.tar文件的 Docker 镜像。 - 运行多个已拉取/构建镜像的多个容器实例。
- 验证设备上已加载的 Docker 镜像列表。
- 验证设备上活动容器和全部容器的列表。
- 使用 Docker inspect 工具检查 Docker 镜像。
- 使用 Docker logs 工具从容器获取日志。
- 使用 Docker stop 和 Docker kill 工具停止并强制终止容器。
- 从设备中删除容器和 Docker 镜像。
从 Docker 访问硬件节点
在 Docker 容器内运行的应用程序可能需要访问设备上的设备节点和文件(因为设备是 Docker 容器的宿主机)。以下是两种方法:- 在 Docker 的 run 命令中将相应的设备节点作为选项传递,以完成此任务:
传递位于设备
/dev目录中的设备节点。根据具体用例,例如在图形场景中,可使用--device=/dev/kgsl-3d0将/dev/kgsl-3d0传递给 Docker。 在 Docker 容器内运行的应用程序可能还需要访问设备(目标宿主机)上的存储。要以绑定挂载(bind mount)方式暴露文件和目录,请运行以下命令:使用以下命令运行 Docker 容器,向容器暴露多个目录、文件和设备节点: - 使用容器设备接口(CDI)创建 CDI JSON/YAML 文件,并将其放置在以下位置:
使用以下命令运行带有 CDI 设备的容器:
在 Qualcomm Linux 设备上运行 Docker Compose
Docker Compose 是一款用于定义和运行多容器应用程序的工具。它通过在单个易于理解的 YAML 配置文件中定义服务、网络和卷,简化应用程序技术栈的管理。默认情况下,Qualcomm Linux 版本在qcom-multimedia-image 中包含 Docker Compose。
docker-compose 软件包在 meta-qcom-distro 元数据层中被添加到 qcom-multimedia-image。
要了解有关 Docker Compose 的更多信息,请参阅 Docker Compose 概览。
在设备上运行 Docker Compose 的步骤:
- 在设备的可写路径下(如
/var,例如/var/docker-compose-yaml)创建或复制 Docker Compose YAML 文件,以便在设备上与 Docker Compose 配合使用。 - 确保 Docker Compose YAML 文件中列出的 Docker 镜像在设备上可用。如果不可用,设备应连接到有效的互联网以拉取 Docker 镜像。
- 要针对多个 YAML 文件运行 Docker Compose,请运行以下命令:
Docker Compose 将按 Docker Compose YAML 文件中的配置运行并启动 Docker 容器。
- Docker Compose 命令返回后,运行
docker ps -a和docker logs <container-id>,验证 Docker 容器是否按预期运行。
后续步骤
- 有关 Kubernetes 的启用,请参阅使用 Qualcomm Linux 设置 Kubernetes。
- 有关虚拟机设置,请参阅创建辅助虚拟机。
- 有关 OTA 更新,请参阅使用 capsule 和 OSTree 机制更新 Qualcomm Linux 上的固件和操作系统。

