Docker 容器中部署项目后一直重启原因排查

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker 容器中部署项目后一直重启原因排查相关的知识,希望对你有一定的参考价值。

参考技术A docker部署的的项目,在jekins上启动后显示启动成功,但是服务始终发现不了,也无法使用,怀疑项目没有真正启动成功。于是使用 docker ps 命令 查看,如下图

容器已经存在,但是在不停的重启之中,怀疑是不是内存不足的原因,使用 docker inspect --formate container-name 命令 查看详情情况:

这里报错的内容是我配置文件的一处地方,于是查看,定位到时yml配置风格有一个空格导致没有对齐,文件读取错误,修改后正常启动,访问正常,收获的教训就是,改动任何一个地方都要仔细检查,一个小空格也会耽误大量的时间

CentOS中Docker的MySQL更改配置后重启不了的两种解决方式


CentOS中Docker的MySQL更改配置后重启不了的两种解决方式

蓝字


项目要用到分库分表,然后自己手动更改了Docker中MySQL的配置文件my.cnf。

配置完毕之后使用Docker进行部署,运行 docker restart mysql后没有成功启动。
问题排查,打印日志
  
    
    
  
docker logs mysql
报错如下:
  
    
    
  
[ERROR ] [Entrypointl: mysqld failed while attempting to check config command was : mysqld --vervbose --help
[ERROR ] Found option without preceding group in config file /etc /mysql / my cnf at line 27 mysql Fatal error in defaults handling . Program aborted
[ERROR ] [Entrypoint ]: mysqld failed while attempting to check config command was mysqld --verbose --help mysqld: [ERROR] Found option without preceding group in config file /etc/mysql/my.cnf at line 27!
mysqld: [ERRORI Fatal error in defaults handling . Program aborted!
随后我打算执行
  
    
    
  
docker exec -it mysql /bin /bash

先进入Docker容器之后再修改回原有配置,但是发现容器未启动(Container not started),因为exec执行命令只能用于已在运行的容器!!

1
解决方式

方式一:实际文本修改配置

首先当前Linux主机中已存放了docker容器中的配置信息(一般挂载默认目录是:/var/lib/docker/overlay/),其次只要找到这个挂载目录的配置文件,修改后就可以重新启动了

这里不过多赘述方式一。

方式二:间接修改配置文件

使用 docker cp命令,把docker容器中的配置文件复制到Linux主机中来,接着修改完之后再复制回docker容器中去,就可以了完成配置文件的回滚了

具体操作(方式二)

1、将docker容器内的文件拷贝至Linux主机中

  
    
    
  
docker cp mysql:/etc/mysql/my.cnf.

2、vim修改配置文件中出错的地方,重新修改回来

3、复制修改后的配置文件到docker容器中去

  
    
    
  
docker cp my .cnf mysql: /etc /mysql /my .cnf

4、最后重启容器实例,使修改后的配置文件生效

  
    
    
  
docker restart mysql

5、配置文件生效,MySQL正常启动

扫描二维码获取

更多精彩

CentOS中Docker的MySQL更改配置后重启不了的两种解决方式

了解更多




CentOS中Docker的MySQL更改配置后重启不了的两种解决方式
CentOS中Docker的MySQL更改配置后重启不了的两种解决方式

CentOS中Docker的MySQL更改配置后重启不了的两种解决方式


喜欢就点个赞鼓励一下呗



以上是关于Docker 容器中部署项目后一直重启原因排查的主要内容,如果未能解决你的问题,请参考以下文章

flannel 网络问题排查

Docker部署Docker-compose部署redis容器及启动失败挂载失败等问题

Docker部署Docker-compose部署redis容器及启动失败挂载失败等问题

Docker部署Docker-compose部署redis容器及启动失败挂载失败等问题

通过Docker部署Odoo14

docker-index.exe内存占用大