关于lvgl-for linxu的dockerfile
dockerfile的作用

# 定义基础镜像参数(如ubuntu:22.04)
ARG BASE_OS
FROM "$BASE_OS"# 更新软件源(非交互模式避免弹窗)
RUN DEBIAN_FRONTEND="noninteractive" apt-get update# 安装编译工具(make/cmake/gcc等)
RUN DEBIAN_FRONTEND="noninteractive" apt-get install -y make cmake build-essential python3-venv# 安装LVGL的SDL2显示后端依赖(图形渲染/窗口支持)
RUN DEBIAN_FRONTEND="noninteractive" apt-get install -y libsdl2-dev libsdl2-image-dev# 安装LVGL的DRM后端及输入依赖(硬件渲染/触摸屏支持)
RUN DEBIAN_FRONTEND="noninteractive" apt-get install -y libevdev-dev libdrm-dev linux-headers-generic# 创建工作目录并设为默认路径
RUN mkdir /workdir
WORKDIR /workdir构建一个包含 LVGL 所需编译工具和显示 / 输入后端依赖的开发环境,方便快速编译和运行基于 LVGL 的 Linux 应用。
通过指定不同的BASE_OS,可以适配不同版本的 Debian/Ubuntu 系统。
DEBIAN_FRONTEND="noninteractive" 是 Debian/Ubuntu 系统中用于控制软件包安装行为的环境变量,核心作用是:强制以 “非交互模式” 执行后续命令,避免安装过程中弹出交互式配置对话框(如时区选择、服务重启确认等)。
dockerfile的标准格式如上,好处在于

.前提:确保 Ubuntu 已安装 Docker
# 更新软件源
sudo apt-get update
# 安装 Docker 依赖
sudo apt-get install -y ca-certificates curl gnupg lsb-release
# 添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 添加 Docker 软件源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 安装 Docker 引擎
sudo apt-get update && sudo apt-get install -y docker-ce docker-ce-cli containerd.io
# 启动 Docker 服务
sudo systemctl start docker
# (可选)添加当前用户到 docker 组,避免每次用 sudo
sudo usermod -aG docker $USER
# 注销并重新登录生效执行 docker build 会发生什么?
在你的 Ubuntu 系统中,进入存放 Dockerfile 的目录,执行:
docker build -t my-lvgl-env:v1 . # -t 给镜像起个名字,. 表示当前目录的 Dockerfile
