Loading
close

AI开发环境容器镜像的制作方法

time 更新时间:2026-10-09 10:46:25

EAF CUDA 开发容器基础镜像

这是一个面向 x86-64 GPU 开发环境的容器镜像,基于 CUDA 12.4、cuDNN 和 Ubuntu 22.04,预装 Python 3.10、JupyterLab、code-server 与 OpenSSH Server。

前置条件

  • x86-64 Linux 主机
  • Docker 及 NVIDIA Container Toolkit
  • 与 CUDA 12.4 兼容的 NVIDIA 驱动

构建

docker build --platform linux/amd64 -t eaf-cuda-dev:12.4 .

可覆盖软件版本或开发用户 UID/GID:

docker build --platform linux/amd64 \
  --build-arg CODE_SERVER_VERSION=4.104.2 \
  --build-arg JUPYTERLAB_VERSION=4.4.7 \
  --build-arg DEV_UID="$(id -u)" \
  --build-arg DEV_GID="$(id -g)" \
  -t eaf-cuda-dev:12.4 .

运行

镜像默认只提供 dev 用户的交互式 Bash 环境,不会自动启动 JupyterLab、code-server、sshd 或 supervisord:

docker run --rm --gpus all \
  -it \
  --name eaf-cuda-dev \
  -v "$PWD/workspace:/workspace" \
  eaf-cuda-dev:12.4

需要时可在容器内手动启动工具:

# JupyterLab
jupyter lab --ip=0.0.0.0 --port=8888 --no-browser \
  --ServerApp.root_dir=/workspace --ServerApp.token= \
  --ServerApp.password= --ServerApp.allow_remote_access=True

# code-server
code-server --bind-addr 0.0.0.0:8080 --auth none \
  --disable-telemetry /workspace

如需使用预置的 SSH 配置和 supervisord 运行层,请以 root 用户启动入口脚本,再按需启动服务:

docker run --rm --gpus all -it --user root \
  -e DEV_PASSWORD='replace-with-a-strong-password' \
  -p 2222:22 -v "$PWD/workspace:/workspace" \
  eaf-cuda-dev:12.4 /usr/local/bin/eaf-entrypoint /bin/bash

入口脚本、start-sshd、eaf-healthcheck 和 supervisord 配置仍保留在镜像中,供手动调用。EXPOSE 仅声明端口,不会自动监听;启动服务时请按需发布对应端口。

验证 GPU 环境

docker exec eaf-cuda-dev nvidia-smi
docker exec eaf-cuda-dev nvcc --version
docker exec eaf-cuda-dev python3 --version

安全说明

手动启动 JupyterLab、code-server 或 SSH 时,它们会按上述配置监听容器网络接口;不要将 8888、8080 或 22 端口直接发布到公网。生产环境应通过防火墙、VPN 或带认证的反向代理限制访问。

此篇文章对你是否有帮助?
没帮助
locked-file

您暂无权限访问该产品