Docker 镜像封装 Python 依赖和服务启动。重点是:AGX 不能随便用普通 nvidia/cuda 镜像,要匹配 L4T/JetPack 版本。
对于 NVIDIA AGX/Jetson 盒子这类设备,推荐 Dockerfile:
FROM nvcr.io/nvidia/l4t-jetpack:r36.4.0
ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=Asia/Shanghai
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US:en
ENV LC_ALL=en_US.UTF-8
WORKDIR /opt/jyd01/wangruihua/jyd_speaker_agx
COPY . /opt/jyd01/wangruihua/jyd_speaker_agx
RUN apt-get update && apt-get install -y \
python3-pip \
python3-dev \
python3-venv \
wget \
curl \
git \
vim \
nano \
sudo \
lsof \
ffmpeg \
net-tools \
iputils-ping \
less \
tzdata \
locales \
ncurses-bin \
libgl1 \
libglib2.0-0 \
libopenblas-dev \
libcairo2-dev \
pkg-config \
python3-dev \
&& ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo Asia/Shanghai > /etc/timezone \
&& dpkg-reconfigure -f noninteractive tzdata \
&& locale-gen en_US.UTF-8 \
&& rm -rf /var/lib/apt/lists/*
RUN python3 -m pip install -U pip setuptools wheel packaging \
-i https://pypi.tuna.tsinghua.edu.cn/simple
RUN python3 -m pip install -r requirements_agx.txt \
-i https://pypi.tuna.tsinghua.edu.cn/simple
RUN chmod +x /opt/jyd01/wangruihua/jyd_speaker_agx/entrypoint.sh || true
EXPOSE 8003 8006
CMD ["bash", "/opt/jyd01/wangruihua/jyd_speaker_agx/entrypoint.sh"]
构建镜像:
sudo docker build \
--network=host \
--progress=plain \
-t jyd_speaker_agx:v1.1 .


创建容器:
docker run -d \
--name jyd_speaker_agx_container \
--runtime nvidia \
--restart always \
--network host \
-v /opt/jyd01/wangruihua/jyd_speaker_agx:/opt/jyd01/wangruihua/jyd_speaker_agx \
jyd_speaker_agx:v1.0

5. 查看状态
docker ps
docker logs -f jyd_speaker_agx_container

