# 将 Qualcomm IM SDK 部署为容器

Source: [https://docs.qualcomm.com/doc/80-70022-50SC/topic/application-deployment-within-container-api-gstd.html](https://docs.qualcomm.com/doc/80-70022-50SC/topic/application-deployment-within-container-api-gstd.html)

在 [Docker
            容器](https://docs.docker.com/)内编译 Qualcomm IM SDK，并最终的设备 Docker 镜像，将其部署到支持 Qualcomm Linux 的 Edge 设备。您可以使用 AI
        工作流的微服务和 Qualcomm IM SDK 构建各种类型的 AI pipeline。

Figure : 容器内的 Qualcomm IM SDK - 架构
            
            <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by Microsoft Visio, SVG Export qualcomm_im_sdk_within_container_arch.svg Layer_1 -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="7.63742in" height="3.48958in" viewbox="0 0 549.895 251.25" xml:space="preserve" color-interpolation-filters="sRGB" class="st12"><v:documentproperties v:langid="1033" v:viewmarkup="false"></v:documentproperties>
<style>.svg-1 .st1 { fill: #fafafa; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st2 { fill: #d2d7e1; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st3 { fill: none; stroke: #505050; stroke-dasharray: 12, 6; stroke-linecap: butt; stroke-width: 1.5 }
.svg-1 .st4 { fill: none; stroke: #505050; stroke-linecap: butt; stroke-width: 1.125 }
.svg-1 .st5 { fill: #000000; font-family: Roboto; font-size: 1.00001em; font-weight: bold }
.svg-1 .st6 { font-family: SimHei; font-size: 1em }
.svg-1 .st7 { fill: #000000; font-family: SimHei; font-size: 1.00001em }
.svg-1 .st8 { fill: #000000; font-family: Roboto; font-size: 1.00001em }
.svg-1 .st9 { font-size: 1em }
.svg-1 .st10 { stroke: #000000; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st11 { fill: #000000; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st12 { fill: none; fill-rule: evenodd; font-size: 12px; overflow: visible; stroke-linecap: square; stroke-miterlimit: 3 }</style>
<g v:mid="0" v:index="1" v:groupcontext="foregroundPage">	<title>Layer_1</title>	<v:pageproperties v:drawingscale="1" v:pagescale="1" v:drawingunits="19" v:shadowoffsetx="9" v:shadowoffsety="-9"></v:pageproperties>	<g id="shape2-1" v:mid="2" v:groupcontext="shape" transform="translate(0.375132,-0.375)">		<title>Sheet.2</title>		<path d="M0 245.63 A5.62513 5.62513 -180 0 0 5.63 251.25 L543.52 251.25 A5.62513 5.62513 -180 0 0 549.14 245.63 L549.14					 6.38 A5.62513 5.62513 -180 0 0 543.52 0.75 L5.63 0.75 A5.62513 5.62513 -180 0 0 0 6.38 L0 245.63 Z" class="st1"></path>	</g>	<g id="shape3-3" v:mid="3" v:groupcontext="shape">		<title>Sheet.3</title>		<path d="M543.89 0.75 C546.79 0.75 549.14 3.11 549.14 6 L549.14 245.25 C549.14 248.14 546.79 250.5 543.89 250.5 L6 250.5					 C3.11 250.5 0.75 248.14 0.75 245.25 L0.75 6 C0.75 3.11 3.11 0.75 6 0.75 L543.89 0.75 ZM543.89 -0 L6 -0 C2.69					 -0 0 2.69 0 6 L0 245.25 C0 248.56 2.69 251.25 6 251.25 L543.89 251.25 C547.21 251.25 549.89 248.56 549.89					 245.25 L549.89 6 C549.89 2.69 547.21 -0 543.89 -0 Z" class="st2"></path>	</g>	<g id="shape5-5" v:mid="5" v:groupcontext="shape" transform="translate(15.0004,-15)">		<title>Sheet.5</title>		<path d="M0 245.25 A6.00012 6.00012 -180 0 0 6 251.25 L345.89 251.25 A6.00012 6.00012 -180 0 0 351.89 245.25 L351.89					 36 A6.00012 6.00012 -180 0 0 345.89 30 L6 30 A6.00012 6.00012 -180 0 0 0 36 L0 245.25 Z" class="st3"></path>	</g>	<g id="shape6-7" v:mid="6" v:groupcontext="shape" transform="translate(216.895,-30)">		<title>Sheet.6</title>		<desc>SDK 工具</desc>		<v:textblock v:margins="rect(7.2,0,0,0)" v:verticalalign="0"></v:textblock>		<v:textrect cx="67.5" cy="155.625" width="135.01" height="191.25"></v:textrect>		<path d="M0 245.25 A6.00014 6.00014 -180 0 0 6 251.25 L129 251.25 A6.00014 6.00014 -180 0 0 135 245.25 L135 66 A6.00014					 6.00014 -180 0 0 129 60 L6 60 A6.00014 6.00014 -180 0 0 0 66 L0 245.25 Z" class="st4"></path>		<text x="42.56" y="79.18" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>SDK <tspan class="st6">工具</tspan></text>		</g>	<g id="shape7-11" v:mid="7" v:groupcontext="shape" transform="translate(231.895,-148.302)">		<title>Sheet.7</title>		<desc>帮助程序脚本</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="52.5" cy="228.75" width="105" height="45"></v:textrect>		<path d="M0 248.25 A3.00007 3.00007 -180 0 0 3 251.25 L102 251.25 A3.00007 3.00007 -180 0 0 105 248.25 L105 209.25 A3.00007					 3.00007 -180 0 0 102 206.25 L3 206.25 A3.00007 3.00007 -180 0 0 -0 209.25 L0 248.25 Z" class="st2"></path>		<text x="16.5" y="232.35" class="st7" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>帮助程序脚本</text>		</g>	<g id="shape10-14" v:mid="10" v:groupcontext="shape" transform="translate(231.895,-96.75)">		<title>Sheet.10</title>		<desc>Config.json</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="52.5" cy="228.75" width="105" height="45"></v:textrect>		<path d="M0 248.25 A3.00007 3.00007 -180 0 0 3 251.25 L102 251.25 A3.00007 3.00007 -180 0 0 105 248.25 L105 209.25 A3.00007					 3.00007 -180 0 0 102 206.25 L3 206.25 A3.00007 3.00007 -180 0 0 -0 209.25 L0 248.25 Z" class="st2"></path>		<text x="22.12" y="232.35" class="st8" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Config.json</text>		</g>	<g id="shape12-17" v:mid="12" v:groupcontext="shape" transform="translate(231.895,-45.1982)">		<title>Sheet.12</title>		<desc>Dockerfile</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="52.5" cy="228.75" width="105" height="45"></v:textrect>		<path d="M0 248.25 A3.00007 3.00007 -180 0 0 3 251.25 L102 251.25 A3.00007 3.00007 -180 0 0 105 248.25 L105 209.25 A3.00007					 3.00007 -180 0 0 102 206.25 L3 206.25 A3.00007 3.00007 -180 0 0 -0 209.25 L0 248.25 Z" class="st2"></path>		<text x="25.58" y="232.35" class="st8" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Dockerfile</text>		</g>	<g id="shape15-20" v:mid="15" v:groupcontext="shape" transform="translate(29.3945,-148.302)">		<title>Sheet.15</title>		<desc>Platform eSDK 平台库和头文件</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="82.5" cy="228.75" width="165" height="45"></v:textrect>		<path d="M0 248.25 A3.00007 3.00007 -180 0 0 3 251.25 L162 251.25 A3.00007 3.00007 -180 0 0 165 248.25 L165 209.25 A3.00007					 3.00007 -180 0 0 162 206.25 L3 206.25 A3.00007 3.00007 -180 0 0 0 209.25 L0 248.25 Z" class="st2"></path>		<text x="43.32" y="224.36" class="st8" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Platform eSDK<v:newlinechar></v:newlinechar><tspan x="28.5" dy="1.298em" class="st6">（</tspan><tspan class="st6">平台库和头文件</tspan><tspan class="st6">）</tspan></text>		</g>	<g id="shape18-26" v:mid="18" v:groupcontext="shape" transform="translate(29.3945,-96.75)">		<title>Sheet.18</title>		<desc>QIM SDK 源</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="82.5" cy="228.75" width="165" height="45"></v:textrect>		<path d="M0 248.25 A3.00007 3.00007 -180 0 0 3 251.25 L162 251.25 A3.00007 3.00007 -180 0 0 165 248.25 L165 209.25 A3.00007					 3.00007 -180 0 0 162 206.25 L3 206.25 A3.00007 3.00007 -180 0 0 0 209.25 L0 248.25 Z" class="st2"></path>		<text x="51.28" y="232.74" class="st8" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>QIM SDK <tspan class="st6">源</tspan></text>		</g>	<g id="shape21-30" v:mid="21" v:groupcontext="shape" transform="translate(29.3945,-45.1982)">		<title>Sheet.21</title>		<desc>Solution-Microservice 源</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="82.5" cy="228.75" width="165" height="45"></v:textrect>		<path d="M0 248.25 A3.00007 3.00007 -180 0 0 3 251.25 L162 251.25 A3.00007 3.00007 -180 0 0 165 248.25 L165 209.25 A3.00007					 3.00007 -180 0 0 162 206.25 L3 206.25 A3.00007 3.00007 -180 0 0 0 209.25 L0 248.25 Z" class="st2"></path>		<text x="17.19" y="232.74" class="st8" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Solution-Microservice <tspan class="st6">源</tspan></text>		</g>	<g id="shape24-34" v:mid="24" v:groupcontext="shape" transform="translate(399.895,-15)">		<title>Sheet.24</title>		<path d="M0 245.25 A6.00011 6.00011 -180 0 0 6 251.25 L129 251.25 A6.00011 6.00011 -180 0 0 135 245.25 L135 36 A6.00011					 6.00011 -180 0 0 129 30 L6 30 A6.00011 6.00011 -180 0 0 0 36 L0 245.25 Z" class="st3"></path>	</g>	<g id="shape27-36" v:mid="27" v:groupcontext="shape" transform="translate(414.895,-164.962)">		<title>Sheet.27</title>		<desc>QIM SDK Docker 镜像</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="52.5" cy="223.125" width="105.01" height="56.25"></v:textrect>		<path d="M0 248.25 A3.00007 3.00007 -180 0 0 3 251.25 L102 251.25 A3.00007 3.00007 -180 0 0 105 248.25 L105 198 A3.00007					 3.00007 -180 0 0 102 195 L3 195 A3.00007 3.00007 -180 0 0 -0 198 L0 248.25 Z" class="st2"></path>		<text x="28.76" y="218.74" class="st8" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>QIM SDK<v:newlinechar></v:newlinechar><tspan x="20.27" dy="1.298em" class="st9">Docker </tspan><tspan class="st6">镜像</tspan></text>		</g>	<g id="shape30-41" v:mid="30" v:groupcontext="shape" transform="translate(414.895,-97.5)">		<title>Sheet.30</title>		<desc>Shell 脚本和 Docker 运行命令</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="52.5" cy="223.125" width="105.01" height="56.25"></v:textrect>		<path d="M0 248.25 A3.00007 3.00007 -180 0 0 3 251.25 L102 251.25 A3.00007 3.00007 -180 0 0 105 248.25 L105 198 A3.00007					 3.00007 -180 0 0 102 195 L3 195 A3.00007 3.00007 -180 0 0 -0 198 L0 248.25 Z" class="st2"></path>		<text x="20.06" y="219.13" class="st8" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Shell <tspan class="st6">脚本和<v:newlinechar></v:newlinechar></tspan><tspan x="8.27" dy="1.331em" class="st9">Docker </tspan><tspan class="st6">运行命令</tspan></text>		</g>	<g id="shape33-47" v:mid="33" v:groupcontext="shape" transform="translate(414.895,-30.0383)">		<title>Sheet.33</title>		<desc>Docker compose YML 文件</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="52.5" cy="223.125" width="105.01" height="56.25"></v:textrect>		<path d="M0 248.25 A3.00007 3.00007 -180 0 0 3 251.25 L102 251.25 A3.00007 3.00007 -180 0 0 105 248.25 L105 198 A3.00007					 3.00007 -180 0 0 102 195 L3 195 A3.00007 3.00007 -180 0 0 -0 198 L0 248.25 Z" class="st2"></path>		<text x="7.39" y="218.74" class="st8" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Docker compose <tspan x="26.94" dy="1.298em" class="st9">YML </tspan><tspan class="st6">文件</tspan></text>		</g>	<g id="shape36-52" v:mid="36" v:groupcontext="shape" transform="translate(194.395,-170.802)">		<title>Sheet.36</title>		<path d="M0 251.25 L18.19 251.25" class="st10"></path>	</g>	<g id="shape37-55" v:mid="37" v:groupcontext="shape" transform="translate(211.713,-167.81)">		<title>Sheet.37</title>		<path d="M0 251.25 L5.18 248.26 L0 245.27 L0 251.25 Z" class="st11"></path>	</g>	<g id="shape39-57" v:mid="39" v:groupcontext="shape" transform="translate(194.395,-119.25)">		<title>Sheet.39</title>		<path d="M0 251.25 L18.19 251.25" class="st10"></path>	</g>	<g id="shape40-60" v:mid="40" v:groupcontext="shape" transform="translate(211.713,-116.258)">		<title>Sheet.40</title>		<path d="M0 251.25 L5.18 248.26 L0 245.27 L0 251.25 Z" class="st11"></path>	</g>	<g id="shape42-62" v:mid="42" v:groupcontext="shape" transform="translate(367.624,-131.943)">		<title>Sheet.42</title>		<path d="M0 251.25 L27.05 251.25" class="st10"></path>	</g>	<g id="shape43-65" v:mid="43" v:groupcontext="shape" transform="translate(393.801,-128.951)">		<title>Sheet.43</title>		<path d="M0 251.25 L5.18 248.26 L0 245.27 L0 251.25 Z" class="st11"></path>	</g>	<g id="shape45-67" v:mid="45" v:groupcontext="shape" transform="translate(194.395,-67.6982)">		<title>Sheet.45</title>		<path d="M0 251.25 L18.19 251.25" class="st10"></path>	</g>	<g id="shape46-70" v:mid="46" v:groupcontext="shape" transform="translate(211.713,-64.7065)">		<title>Sheet.46</title>		<path d="M0 251.25 L5.18 248.26 L0 245.27 L0 251.25 Z" class="st11"></path>	</g></g>
</svg>

Note: 本节不适用于 Ubuntu Server。

下表列出了从源代码构建 Qualcomm IM SDK docker 容器所需的组件：

Table : Qualcomm IM SDK Docker 容器组件

| 组件 | 说明 |
| :--- | :--- |
| Platform eSDK | <ul class="ul" id="application-deployment-within-container-api-gstd__ul_hnh_nyc_pdc"><br>                                    <li class="li">提供 Qualcomm IM SDK 的平台依赖项。</li><br><br>                                    <li class="li">包含平台库和头文件。</li><br><br>                                </ul> |
| QualcommIM SDK 源代码 | 包含插件和配方文件的源代码，用于构建和定义编译时依赖项。 |
| solutions-microservices | 提供微服务所需的 AI pipeline。 |
| sdk-tools | <ul class="ul" id="application-deployment-within-container-api-gstd__ul_h3b_5yc_pdc"><br>                                    <li class="li">提供 Docker 文件和一组帮助程序脚本来生成 Qualcomm IM SDK 设备 Docker 容器。</li><br><br>                                    <li class="li">为参考 Docker 提供 <em class="ph i">run</em> 命令，以及用于运行 Docker 容器的 YAML 组合文件。</li><br><br>                                    <li class="li">映射所有必需的平台设备和库，以在 Docker 容器内提供硬件加速。</li><br><br>                                </ul> |

- **[编译 Qualcomm IM SDK Docker 镜像](https://docs.qualcomm.com/doc/80-70022-50SC/topic/build-and-run-qualcomm-im-sdk-docker-image.html)**
- **[加载并运行 Docker 镜像](https://docs.qualcomm.com/doc/80-70022-50SC/topic/load-and-run-docker.html)**
- **[运行 Docker 镜像来执行多媒体/AI 用例](https://docs.qualcomm.com/doc/80-70022-50SC/topic/container-use-cases-for-camera.html)**
- **[在 QIM 容器中运行摄像头用例](https://docs.qualcomm.com/doc/80-70022-50SC/topic/container-use-cases-camera.html)**
- **[运行 GStD 的 Docker 镜像](https://docs.qualcomm.com/doc/80-70022-50SC/topic/container-use-cases-for-video-encode-and-ai-pipelines.html)**  

Qualcomm IM SDK 容器已预先安装了 GStD 的 Docker 镜像。

Last Published: Nov 05, 2025

[Previous Topic
自定义 Python 示例应用程序](https://docs.qualcomm.com/bundle/publicresource/80-70022-50SC/topics/customize-a-python-sample-application.md) [Next Topic
编译 Qualcomm IM SDK Docker 镜像](https://docs.qualcomm.com/bundle/publicresource/80-70022-50SC/topics/build-and-run-qualcomm-im-sdk-docker-image.md)