You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何借助联网Windows电脑在离线Alpine Docker镜像中安装SimulIDE?

构建可运行SimulIDE的Alpine Docker镜像(离线环境方案)

一、联网Windows端准备资源

1. 下载SimulIDE预编译文件

  • 优先获取静态编译的Linux x86_64版本SimulIDE,解压后整理为simulide文件夹(包含bin、lib等核心目录)。
  • 若只有glibc版本的预编译包,需额外下载Alpine的glibc兼容包:glibc、glibc-bin、glibc-i18n(取自Alpine edge/testing源)。

2. 收集Alpine依赖apk包

SimulIDE基于Qt开发,需以下基础依赖(x86_64架构):
qt5-qtbase、qt5-qtdeclarative、qt5-qtquickcontrols2、sdl2、libstdc++、libgcc、zlib、libx11、libxcb、libxext

  • 从Alpine官方软件源下载上述包及其所有依赖包(匹配你的Alpine镜像版本),统一放入apk-packages文件夹。

二、传输资源到无网Debian 11虚拟机

通过虚拟机文件共享、U盘等物理方式,将以下内容传到虚拟机:

  • 整理好的simulide文件夹
  • 所有apk包所在的apk-packages文件夹
  • 提前编写的Dockerfile

三、虚拟机内构建Docker镜像

1. 构建目录结构

创建simulide-docker目录,按如下结构放置文件:

simulide-docker/
├── Dockerfile
├── apk-packages/
│   ├── [所有下载的apk包]
└── simulide/
    ├── bin/
    ├── lib/
    └── [其他SimulIDE文件]

2. Dockerfile内容

FROM alpine:latest

# 复制本地apk包到镜像临时目录
COPY apk-packages /tmp/apk-packages

# 安装离线依赖,跳过签名验证
RUN apk add --no-cache --allow-untrusted /tmp/apk-packages/*.apk \
    # 若包含glibc兼容包,执行配置
    && if ls /tmp/apk-packages/glibc*.apk 1> /dev/null 2>&1; then \
         apk add --no-cache --allow-untrusted /tmp/apk-packages/glibc*.apk \
         && /usr/glibc-compat/bin/localedef -i en_US -f UTF-8 en_US.UTF-8; \
       fi

# 复制SimulIDE到镜像指定目录
COPY simulide /opt/simulide

# 设置库加载路径
ENV LD_LIBRARY_PATH=/opt/simulide/lib:/usr/glibc-compat/lib:$LD_LIBRARY_PATH

# 启动命令
CMD ["/opt/simulide/bin/simulide"]

3. 执行构建命令

在simulide-docker目录下运行:

docker build -t simulide-alpine .

4. 测试容器运行(需虚拟机有图形界面)

挂载X11套接字以显示SimulIDE界面:

docker run --rm -it \
    -e DISPLAY=$DISPLAY \
    -v /tmp/.X11-unix:/tmp/.X11-unix \
    simulide-alpine

排错提示

  • 若启动时提示缺少库,回到联网Windows端查找对应Alpine apk包,添加到apk-packages后重新构建。
  • 确保所有apk包的架构(x86_64)与Alpine镜像一致。

内容的提问来源于stack exchange,提问作者user25311184

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 10:24:51