1、背景说明

AIChat采用docker容器部署,掌握docker命令对问题的排查尤为关键,下方把项目中常见的docker命令以及使用说明进行介绍,方便后面项目参考此文档进行问题的排查。

2、常见排查命令

2.1 docker服务启停命令

正常安装AIChat后,docker就会正常启动,但是在某些场景下也会出现docker服务无法正常启动的情况,需要通过以下命令进行查看和问题排查。

1)查看docker服务器状态

#systemctl status docker 

注:如果发现docker状态异常,需要根据提示的信息进行问题更进一步的排查。

如果上诉信息无法排查出问题,还可以使用dockerd启动docker服务查看异常,dockerd启动时会打出异常的详细信息。

#/usr/bin/docked

2)停止docker服务

#systemctl stop docker 

注:某些操作系统直接使用systemctl stop docker 会有如下提示而导致无法停止

需要手动把docker.socket也停止,既需要执行如下2个停止命令:

#systemctl stop docker

#systemctl stop docker.socket

3)启动docker服务

#systemctl start docker 

2.2 docker信息查询命令

1)查看docker版本

#docker version 

2)查看docker信息

#docker info 

2.3 本地镜像查看和加载命令

通过此命令可以查看加载到本地的镜像相关信息,在某些场景下无法正常启动AIchat,就是因为镜像加载不成功导致的(有权限的问题,也有空间不足的问题),优先使用此命令进行镜像的排查。

1)查看本地镜像

#docker images 

2)手动加载镜像到本地

如果发现镜像并没有正常加载,需要进入安装目录的docker-images文件,通过docker load命令进行手动加载,所有镜像加载完毕后可以使用docker images命令进行核查。

#cd docker-images

#docker load -i xxx

2.4 容器信息查看和相关操作

注:容器类的操作可以直接输入容器ID前3位(只要是唯一的)即可。

1)查看容器信息

AIChat启动后可以通过docker ps命令查看各容器运行的相关信息(容器ID,对应镜像,创建时间,状态,端口和容器名称),通过这个命令基本可以看出当前容器运行是否健康。

#docker ps -a 

2)查看容器日志

如果发现某个容器状态不正常,可以通过docker logs命令查看对应容器的日志,根据日志信息判断出状态异常的原因。

#docker logs -f smartbi-nla-new_agen_1

#docker logs -f 652 #容器前三位

3)进入容器

如果需要进入容器中进行相关信息的查询,可以使用docker exec 命令

#docker exec -ti 652 /bin/bash

#如果容器没有bash,可以使用下方命令

#docker exec -ti 652 /bin/sh 

4)显示容器详情

如果想要显示容器详情,可以使用docker inspect 命令进行输出,方便通过详细信息进行问题的排查。

#docker inspect 652