前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何修复无法启动的docker容器

如何修复无法启动的docker容器

作者头像
端碗吹水
发布2020-09-23 10:15:58
3.7K0
发布2020-09-23 10:15:58
举报

如何修复无法启动的docker容器

背景:

测试服务器上使用docker搭建了个elasticsearch服务集群,由于需要为es安装中文分词的插件,不料安装的姿势有问题,导致无法启动了。由于是测试开发所用,也没有为容器挂载数据卷,所以容器关闭后宿主机上就没有相关的目录了。而且是plugins目录结构的原因导致es服务找不到相关文件无法启动。

解决方法,使用cp命令将整个plugins目录复制到宿主机下修改,然后再cp回容器里:

代码语言:javascript
复制
# 将plugins目录cp到宿主机
[root@study-01 ~]# docker cp es1:/usr/share/elasticsearch/plugins ./
... 修改目录结构 ...
[root@study-01 ~]# docker cp ./plugins/ es1:/usr/share/elasticsearch/  # cp回容器里
[root@study-01 ~]# docker start es1  # 启动容器

另一个解决方法是创建镜像,把这个问题容器用docker commit提交到一个新的镜像,然后用docker run -it 基于新镜像运行一个新的容器进去改变(修复)配置文件。再通过新的容器再提交一个新的镜像,然后在基于新的镜像重新启动容器(同最初的容器)。这个方法是可行的,但问题是步骤多,而且提交了新的镜像,对于后续维护增加了复杂性。

步骤如下:

代码语言:javascript
复制
#把要修复的容器提交为镜像
[root@study-01 ~]# docker commit <container_id> <image_name>:<tag>
[root@study-01 ~]# docker rm <container_id>   # 删除无法启动的容器,反正也用不了

#查看刚建立的新镜像
[root@study-01 ~]# docker images
REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
old-es3                   first               bf1fdb9b3a2d        54 minutes ago      550 MB
old-es2                   first               4e1a92871782        55 minutes ago      550 MB
old-es1                   first               d1a485b8f5c0        55 minutes ago      551 MB

#利用这个新镜像创建容器,进入容器,修复配置文件
[root@study-01 ~]# docker run -it --name fix-es1 old-es1:first /bin/bash

#重新提交镜像
[root@study-01 ~]# docker commit <container_id> <image_name>:<tag>

#创建修复后的容器
[root@study-01 ~]#  docker run -d --name es1 -p 9200:9200 -p 9300:9300 ok-es1:first
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-10-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何修复无法启动的docker容器
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档