Skip to content

About

use docker run wechat.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WeChat in Docker (Debian 13)

Linux Docker Shell License WeChat

在 Debian 13 (Trixie) Docker 容器中运行微信 Linux 原生版。

前置条件

  • Docker (26+)
  • Linux x86_64 环境,运行 X11 桌面
  • 微信 .deb 安装包放在 debs/ 目录

快速开始

# 构建镜像
./run.sh build

# 运行微信(单实例)
./run.sh run

# 运行微信(多开,启动 3 个独立实例)
./run.sh run 3

# 查看日志(实例 1)
./run.sh logs

# 停止所有微信容器
./run.sh stop

文件结构

├── Dockerfile           # 容器构建文件
├── docker-compose.yml   # Compose 编排(需安装 docker-compose-plugin)
├── run.sh               # 便捷管理脚本(支持多开)
├── debs/
│   └── WeChatLinux_x86_64.deb
├── home/                # 容器内 /home/wechat 的映射目录
│   ├── 1/               # 实例 1
│   │   ├── .xwechat/
│   │   ├── xwechat_files/
│   │   ├── .config/
│   │   └── ...
│   └── 2/               # 实例 2(多开时自动创建)
│       └── ...

Dockerfile 说明

项目 说明
基础镜像 debian:13 (Trixie)
软件源 USTC 镜像 (HTTP + GPG 签名验证)
微信版本 4.1.1.4 (Linux 原生)
运行用户 wechat (UID 1000,非 root)
中文字体 Noto CJK

映射与挂载

  • 家目录: ./home/<N> → /home/wechat(配置聊天记录持久化,多开时每个实例独立目录)
  • X11: /tmp/.X11-unix(GUI 显示)
  • GPU: /dev/dri(硬件加速)
  • 音频: /dev/snd(声音输出)
  • 网络: host 模式
  • IPC: host 模式(Electron 共享内存)

多开上限

每个 WeChat 实例使用 --ipc host 共享宿主机 IPC 命名空间,实例数受系统 System V 信号量/共享内存 限制,实测上限约 30–40 个。主要瓶颈:

资源 查看命令 常见上限
信号量 (sem) ipcs -s | wc -l + cat /proc/sys/kernel/sem 32–128
共享内存 (shm) ipcs -m | wc -l + cat /proc/sys/kernel/shmall 取决于内存

若需提高上限,可临时调整内核参数(重启后失效):

sudo sysctl -w kernel.sem="250 32000 100 256"
sudo sysctl -w kernel.shmall=4294967296

若达到限制,docker run 会报类似 permission denied 或 resource temporarily unavailable 的错误。退出部分实例后即可恢复正常。

手动运行

若 run.sh 不可用,可直接用 docker:

# 构建
docker build -t wechat-debian13 .

# 运行实例 N(N 为正整数)
xhost +local:
docker run -d \
  -e DISPLAY=$DISPLAY \
  -v /tmp/.X11-unix:/tmp/.X11-unix:ro \
  -v $(pwd)/home/N:/home/wechat \
  -v /dev/dri:/dev/dri:ro \
  --device /dev/snd \
  --network host \
  --ipc host \
  --name wechat-N \
  wechat-debian13

About

use docker run wechat.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages