镜像构建历史
# 2026-07-25 03:10:05 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/startup.sh"]
# 2026-07-25 03:10:05 4.65KB 执行命令并创建新的镜像层
RUN |2 TARGETARCH=amd64 PMHQ_VERSION=8.1.1 /bin/sh -c chmod +x /startup.sh # buildkit
# 2026-07-25 03:10:05 4.65KB 复制新文件或目录到容器中
COPY docker/startup.sh /startup.sh # buildkit
# 2026-07-25 03:10:05 0.00B 创建挂载点用于持久化数据或共享数据
VOLUME [/root/.config/QQ]
# 2026-07-25 03:10:05 0.00B 执行命令并创建新的镜像层
RUN |2 TARGETARCH=amd64 PMHQ_VERSION=8.1.1 /bin/sh -c mkdir -p /root/.config/QQ # buildkit
# 2026-07-25 03:10:05 0.00B 声明容器运行时监听的端口
EXPOSE [13000/tcp]
# 2026-07-25 03:10:05 198.00B 执行命令并创建新的镜像层
RUN |2 TARGETARCH=amd64 PMHQ_VERSION=8.1.1 /bin/sh -c cat <<EOF > /opt/pmhq_config.json
{
"qq_path": "",
"quick_login_qq": "",
"enable_gui": false,
"default_host": "0.0.0.0",
"default_port": 13000,
"debug": false,
"qq_console": true,
"headless": false
}
EOF # buildkit
# 2026-07-25 03:10:04 8.31MB 执行命令并创建新的镜像层
RUN |2 TARGETARCH=amd64 PMHQ_VERSION=8.1.1 /bin/sh -c chmod +x /opt/pmhq # buildkit
# 2026-07-25 03:10:04 9.39MB 执行命令并创建新的镜像层
RUN |2 TARGETARCH=amd64 PMHQ_VERSION=8.1.1 /bin/sh -c case "$TARGETARCH" in arm64) arch="arm64" ;; amd64) arch="x64" ;; *) echo "Unsupported architecture: $TARGETARCH" >&2; exit 1 ;; esac && curl --fail --location --show-error "https://github.com/linyuchen/PMHQ/releases/download/v${PMHQ_VERSION}/pmhq-linux-${arch}.zip" --output /opt/pmhq.zip && unzip /opt/pmhq.zip -d /opt/ && rm /opt/pmhq.zip && mv /opt/pmhq-linux-${arch} /opt/pmhq # buildkit
# 2026-07-25 03:10:04 3.94MB 执行命令并创建新的镜像层
RUN |2 TARGETARCH=amd64 PMHQ_VERSION=8.1.1 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends curl unzip && rm -rf /var/lib/apt/lists/* # buildkit
# 2026-07-25 03:10:04 0.00B 定义构建参数
ARG PMHQ_VERSION=8.1.1
# 2026-07-25 03:10:04 0.00B 定义构建参数
ARG TARGETARCH=amd64
# 2025-10-21 22:02:39 522.44MB 执行命令并创建新的镜像层
RUN |2 TARGETARCH=amd64 PMHQ_VERSION= /bin/sh -c wget https://dldir1v6.qq.com/qqfile/qq/QQNT/81e26a27/linuxqq_3.2.18-36497_$TARGETARCH.deb -O qq.deb && apt-get install -f -y ./qq.deb && rm qq.deb # buildkit
# 2025-10-21 22:01:22 47.00B 执行命令并创建新的镜像层
RUN |2 TARGETARCH=amd64 PMHQ_VERSION= /bin/sh -c ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone # buildkit
# 2025-10-21 22:01:21 0.00B 设置环境变量 TZ
ENV TZ=Asia/Shanghai
# 2025-10-21 22:01:21 673.41MB 执行命令并创建新的镜像层
RUN |2 TARGETARCH=amd64 PMHQ_VERSION= /bin/sh -c apt-get update && apt-get install -y tzdata xvfb x11-utils wget unzip libgtk-3-0 libxcb-xinerama0 libgl1-mesa-dri libnotify4 libnss3 xdg-utils libsecret-1-0 libappindicator3-1 libgbm1 libasound2t64 fonts-noto-cjk libxss1 && rm -rf /var/lib/apt/lists/* # buildkit
# 2025-10-21 21:57:24 2.55KB 执行命令并创建新的镜像层
RUN |2 TARGETARCH=amd64 PMHQ_VERSION= /bin/sh -c if [ "$TARGETARCH" = "arm64" ]; then sed -i "s@http://ports.ubuntu.com/ubuntu-ports@https://mirrors.aliyun.com/ubuntu-ports@g" /etc/apt/sources.list.d/ubuntu.sources; else sed -i "s@http://archive.ubuntu.com/ubuntu@https://mirrors.aliyun.com/ubuntu@g; s@http://security.ubuntu.com/ubuntu@https://mirrors.aliyun.com/ubuntu@g" /etc/apt/sources.list.d/ubuntu.sources; fi # buildkit
# 2025-10-21 21:57:24 74.00B 执行命令并创建新的镜像层
RUN |2 TARGETARCH=amd64 PMHQ_VERSION= /bin/sh -c echo "Acquire::https::Verify-Peer \"false\";" > /etc/apt/apt.conf.d/99ignore-ssl && echo "Acquire::https::Verify-Host \"false\";" >> /etc/apt/apt.conf.d/99ignore-ssl # buildkit
# 2025-10-21 21:57:24 0.00B 定义构建参数
ARG PMHQ_VERSION
# 2025-10-21 21:57:24 0.00B 定义构建参数
ARG TARGETARCH=amd64
# 2025-10-01 21:01:37 0.00B
/bin/sh -c #(nop) CMD ["/bin/bash"]
# 2025-10-01 21:01:37 78.12MB
/bin/sh -c #(nop) ADD file:249778a1782b02a1c2bcf9f292f5778d81442a53c3de1958d712f10baf7e0b60 in /
# 2025-10-01 21:01:35 0.00B
/bin/sh -c #(nop) LABEL org.opencontainers.image.version=24.04
# 2025-10-01 21:01:35 0.00B
/bin/sh -c #(nop) LABEL org.opencontainers.image.ref.name=ubuntu
# 2025-10-01 21:01:35 0.00B
/bin/sh -c #(nop) ARG LAUNCHPAD_BUILD_ARCH
# 2025-10-01 21:01:35 0.00B
/bin/sh -c #(nop) ARG RELEASE
镜像信息
{
"Id": "sha256:0f28c06d69e2242038dfa8e2b40437bc6e8ef0da5649870e7adf338e31159b9b",
"RepoTags": [
"linyuchen/pmhq:8.1.1",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/linyuchen/pmhq:8.1.1"
],
"RepoDigests": [
"linyuchen/pmhq@sha256:cfad7539d137813def4c6fe58861d852cbc269963e3582ec66a9f6cf9731fa50",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/linyuchen/pmhq@sha256:4a5ddd277c1be6813baaa6336dd81c47c1514ce4af641fcc337829977063876c"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2026-07-24T19:10:05.150169961Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"13000/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"TZ=Asia/Shanghai"
],
"Cmd": null,
"Image": "",
"Volumes": {
"/root/.config/QQ": {}
},
"WorkingDir": "",
"Entrypoint": [
"/startup.sh"
],
"OnBuild": null,
"Labels": {
"org.opencontainers.image.ref.name": "ubuntu",
"org.opencontainers.image.version": "24.04"
}
},
"Architecture": "amd64",
"Os": "linux",
"Size": 1295631971,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/bfac7d7d25e2f882f5b182c50854907e46468e4a934aa8993809683427122911/diff:/var/lib/docker/overlay2/cbdf263adf70f18b8d207bfdb9ec5566ad2abea58c08d117a40340b4b74beeb0/diff:/var/lib/docker/overlay2/05a16afe048b2e876f0e3de02214fd6d1e373e07a6be52943efb8278c9a9f12a/diff:/var/lib/docker/overlay2/c7c59b38e7ecbe4060755e554cc317df1c4fa7bc30fe4eb124ef91e19eb7114c/diff:/var/lib/docker/overlay2/e590deab695f17d4208f132bcd3c6ba45575b6d75a15af226271e6eca0ac8fd9/diff:/var/lib/docker/overlay2/c8341f67602f44b6c4f32576785bceca41204e0463483ac099c318913fdbe53d/diff:/var/lib/docker/overlay2/9725d9e61357c191db04b94dcd854b823ef87c1199b4b8db51898c7bd4f2d105/diff:/var/lib/docker/overlay2/ccbe7c922320fd7a2850b1d028b3c459db506ee83372842da0b2ba8f37dbc2cc/diff:/var/lib/docker/overlay2/8eab9c6230878fa0024accda4c885165c6dd277ba66155870c1229567cfabbcc/diff:/var/lib/docker/overlay2/041a0594a74c1676b4b8dda8d59799e21ff0d3bc19a7c141688512455c0ae6bc/diff:/var/lib/docker/overlay2/93c60bf04a215b07e58fdea878b808ddd34f159e75472507c9f8d15c3834fc6d/diff:/var/lib/docker/overlay2/fb3ec169c24085cc551bfef52b4f2388a39d1478a85bef53f00eaf454f17ffae/diff",
"MergedDir": "/var/lib/docker/overlay2/578c67d93ba52a73e83062fc2b78278ee22578ab69e1f5f97eef3eaba8048102/merged",
"UpperDir": "/var/lib/docker/overlay2/578c67d93ba52a73e83062fc2b78278ee22578ab69e1f5f97eef3eaba8048102/diff",
"WorkDir": "/var/lib/docker/overlay2/578c67d93ba52a73e83062fc2b78278ee22578ab69e1f5f97eef3eaba8048102/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:073ec47a8c22dcaa4d6e5758799ccefe2f9bde943685830b1bf6fd2395f5eabc",
"sha256:49f0cca5d7443c80fd24b270ae3c054a95a8ffac5b5ac452af184ec490a26522",
"sha256:93ea35499d29eef1a115d41b396bc659c1659819805f54de5b38815914adcb63",
"sha256:00ec16960dbb17f6f37ccbe3c2be07f7db064802685eefbc4d344e54a0423783",
"sha256:09f04eafda36850eab5f6ae014e36335ebf5a29b17120f9582ceb5a034bbe5a1",
"sha256:b4ba43d150ee80d1b889c73e4c7e2395c251ea8ec9ccea487b358968f70c68d9",
"sha256:72e4aa0c247496fb18a8cee0ba3f27d1a9f77005b7c4b7c2ed7c9e96b454abea",
"sha256:9a74b78185e2774af5a135a5b825d08a4ab9ed839028aee31a13f2bafc20b511",
"sha256:bea80656b87dd7ed4d9aace6b63eed5fe0d043e41b0902561c0a0bd86f29a8ab",
"sha256:9ec833dc6eb277f97b4453e5ddc8fde22af6177fc3a72aebd86e05d3c3eb76a1",
"sha256:44bee945a952965f1948d6c9711c18906b44cdc9b2d4c2f02be78f905e25c4c9",
"sha256:7e5206b156bef4512025c7cd882f44976421597fb8874ec5f6a3d56edf42dd71",
"sha256:e09d599b30d8490390ab7e9231fc33c1090d33da0177d14ba3830053845e2fe2"
]
},
"Metadata": {
"LastTagTime": "2026-09-23T22:02:14.296788542+08:00"
}
}