
https://hub.docker.com/r/stainless403/mdcx-builtin-gui-base 是基于 https://hub.docker.com/r/jlesage/baseimage-gui 构建的专用镜像,适用于运行 Python+QT5 应用程序。该镜像内置预编译的 MDCx,可直接部署使用。其优点为轻量,缺点是仅支持通过网页查看应用界面,且不包含文件管理功能。
通过官方脚本可快速完成部署,步骤如下:
1) mdcx-builtin-gui-base使用 curl:
bashbash -c "$(curl -fsSL https://raw.githubusercontent.com/northsea4/mdcx-docker/main/install.sh)"
使用 wget:
bashbash -c "$(wget https://raw.githubusercontent.com/northsea4/mdcx-docker/main/install.sh -O -)"
注意:即使使用脚本部署,仍建议阅读以下手动部署细节,了解安全配置、更新方法等关键信息。
4.2.1 准备项目目录
mdcx-docker)mdcx-docker/ ├── data/ # 容器系统数据目录 ├── mdcx-config/ # 应用配置文件目录 │ ├── config.ini # 应用配置文件 │ └── MDCx.config # 配置文件路径标记文件 ├── logs/ # 应用日志目录 ├── .env # 环境变量配置文件 ├── .env.sample # 环境变量示例文件 ├── .env.versions # 应用版本文件 ├── gui-base-builtin.sample.yml # Docker Compose示例配置 └── docker-compose.yml # Docker Compose配置文件
4.2.2 配置环境变量(.env 文件)
编辑 .env 文件设置参数,关键参数说明如下:
| 参数名称 | 说明 | 默认值 | 必填 |
|---|---|---|---|
| VNC_PASSWORD | 网页访问密码,公网部署建议设置,留空表示无需密码 | 无 | 否 |
| WEB_PORT | 网页访问端口(容器内固定5800,映射至宿主机的端口) | 5800 | 是 |
| VNC_PORT | VNC监听端口(容器内固定5900,映射至宿主机的端口) | 5900 | 是 |
| USER_ID | 运行应用的用户ID,可通过 id -u 命令获取当前用户ID | 0 | 是 |
| GROUP_ID | 运行应用的用户组ID,可通过 id -g 命令获取当前用户组ID | 0 | 是 |
| DISPLAY_WIDTH | 应用窗口宽度 | 1200 | 否 |
| DISPLAY_HEIGHT | 应用窗口高度 | 750 | 否 |
更多参数可参考
.env.sample文件。
4.2.3 Docker Compose 部署
docker-compose.yml 文件,示例配置如下:yamlversion: '3' services: mdcx: image: stainless403/mdcx-builtin-gui-base:${MDCX_BUILTIN_IMAGE_TAG} container_name: ${MDCX_CONTAINER_NAME} env_file: - .env volumes: - ./data:/config # 容器系统数据目录 - ./mdcx-config:/mdcx-config # 应用配置文件目录 - ./mdcx-config/MDCx.config:/app/MDCx.config # 配置文件路径标记 - ./logs:/app/Log # 应用日志目录 - /path/to/movies:/movies # 影片目录(按需添加) ports: - ${WEB_PORT}:5800 - ${VNC_PORT}:5900 restart: unless-stopped network_mode: bridge stdin_open: true
bashcd /path/to/mdcx-docker docker-compose up -d
bashdocker-compose logs -f # 或指定容器名称 docker logs -f mdcx_gui
4.2.4 Docker Run 部署
直接使用 docker run 命令部署,需手动创建必要目录:
bash# 创建项目目录 MDCX_DOCKER_DIR=/path/to/mdcx-docker mkdir -p $MDCX_DOCKER_DIR && cd $MDCX_DOCKER_DIR # 创建必要子目录 mkdir -p mdcx-config logs data # 创建配置文件路径标记文件 echo "/mdcx-config/config.ini" > mdcx-config/MDCx.config # 创建空配置文件(如无现有配置) touch mdcx-config/config.ini # 启动容器 docker run -d --name mdcx \ -p 5800:5800 `# 网页访问端口(宿主机:容器)` \ -p 5900:5900 `# VNC端口(宿主机:容器)` \ -v $(pwd)/data:/config `# 容器系统数据` \ -v $(pwd)/mdcx-config:/mdcx-config `# 配置文件目录` \ -v $(pwd)/mdcx-config/MDCx.config:/app/MDCx.config `# 配置文件路径标记` \ -v $(pwd)/logs:/app/Log `# 日志目录` \ -v /path/to/movies:/movies `# 影片目录(按需添加)` \ -e TZ=Asia/Shanghai `# 时区设置` \ -e DISPLAY_WIDTH=1200 `# 窗口宽度` \ -e DISPLAY_HEIGHT=750 `# 窗口高度` \ -e VNC_PASSWORD=your_password `# 访问密码(可选)` \ -e USER_ID=$(id -u) `# 当前用户ID` \ -e GROUP_ID=$(id -g) `# 当前用户组ID` \ --restart unless-stopped \ stainless403/mdcx-builtin-gui-base:latest
容器启动后,通过以下地址访问应用界面:
http://服务器IP:WEB_PORT
示例:若服务器IP为 192.168.1.100,且 WEB_PORT 设为默认 5800,则访问地址为 http://192.168.1.100:5800。
适用于通过 Docker Compose 部署的场景:
bashcd /path/to/mdcx-docker docker-compose pull docker-compose up -d
通过 watchtower 工具更新容器,支持一次性更新或定时更新。
一次性更新
bashdocker run --rm \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower \ --run-once \ mdcx # 容器名称(需与启动时--name一致)
定时更新(谨慎使用)
设置每天凌晨2点自动更新:
bashdocker run -d --name watchtower-mdcx \ --restart unless-stopped \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower \ -c --schedule "0 0 2 * * *" mdcx # 容器名称
注意:自动更新可能导致配置或数据异常,建议手动更新。
取消定时更新
bashdocker rm -f watchtower-mdcx
VNC_PASSWORD,避免未授权访问。mdcx-config 和 data 目录,防止配置丢失。stainless403/mdcx-src-gui-base 镜像(详见 https://github.com/northsea4/mdcx-docker/blob/main/gui-base/mdcx-src.md%EF%BC%89%E3%80%82docker-compose pull 或 watchtower 更新镜像时,建议先查看官方更新日志,确认兼容性。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。




探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务