如何修改已停止的现有Docker容器启动参数 禁用ELK容器Logstash服务
现有ELK容器添加禁用Logstash自启动参数的解决方案
共有两种可在Windows Docker Desktop 4.1.1环境下生效的操作方案:
方案1:直接修改容器配置文件
操作步骤如下:
- 完全退出Docker Desktop,确保所有Docker后台进程停止,避免配置被覆盖
- 执行命令
docker ps -a找到你的ELK容器对应的容器ID,记录下前6位字符即可 - 打开容器配置存储路径:
C:\Users\<你的Windows用户名>\AppData\Roaming\Docker\containers\<刚才记录的容器ID文件夹> - 先对目录下的
config.v2.json、hostconfig.json两个文件做备份,避免修改错误 - 打开
config.v2.json,找到Env数组字段,在数组中新增一条配置"LOGSTASH_START=0",注意保持JSON语法正确,相邻配置项用英文逗号分隔 - 保存修改后的两个配置文件,重新启动Docker Desktop
- 启动ELK容器即可生效,Logstash不会随容器自动启动
方案2:提交容器为镜像后重新启动(更稳妥,推荐新手使用)
无需修改配置文件,直接复用原有容器的所有数据生成新容器,操作步骤如下:
- 执行命令提交现有ELK容器为本地镜像,所有存量数据都会保留:
docker commit elk elk_backup:v1 - 重命名原有故障容器,避免名称冲突:
docker rename elk elk_old - 使用原有端口映射规则+禁用Logstash的环境变量启动新容器:
docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -e LOGSTASH_START=0 -it --name elk elk_backup:v1 - 确认新容器运行正常、数据完整后,可按需删除旧的
elk_old容器释放存储空间
注意:如果启动新容器后仍有异常,可先执行
docker logs elk查看容器日志排查其他故障点。
内容的提问来源于stack exchange,提问作者LF-DevJourney
相关产品推荐
相关产品推荐

