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

Docker commit无法保存anapsix/webdis容器修改,求排查

问题原因及解决办法

你的问题出在 anapsix/webdis镜像将/etc/webdis目录定义为了VOLUME,容器运行时VOLUME里的文件数据是独立于容器可写层存储的,docker commit只能保存容器可写层的修改,无法保留VOLUME目录内的变更,所以新镜像启动后看不到你修改的webdis.json。

纠正步骤

方法1:用Dockerfile构建自定义镜像(推荐)

  1. 本地创建一个修改好的webdis.json文件,确保已启用websockets配置。
  2. 创建Dockerfile,内容如下:
FROM anapsix/webdis
COPY webdis.json /etc/webdis/
  1. 执行构建命令:
sudo docker build -t my-custom-webdis .
  1. 用新镜像启动容器:
sudo docker run -d -p 7379:7379 -e LOCAL_REDIS=true my-custom-webdis

方法2:绕过VOLUME修改容器可写层(临时方案)

如果不想写Dockerfile,可以通过以下步骤操作:

  1. 从运行的容器中复制原配置文件到本地:
sudo docker cp <container-id>:/etc/webdis/webdis.json ./
  1. 本地修改webdis.json启用websockets。
  2. 把修改后的文件复制到容器的非VOLUME路径,比如/opt/webdis.json:
sudo docker cp ./webdis.json <container-id>:/opt/webdis.json
  1. 执行commit生成新镜像:
sudo docker commit <container-id> my-custom-webdis
  1. 启动新镜像时指定加载自定义配置文件:
sudo docker run -d -p 7379:7379 -e LOCAL_REDIS=true my-custom-webdis /usr/bin/webdis /opt/webdis.json

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 16:51:37