运维基础文档

在处理用户问题的时候,除了有数的业务问题处理以外,还有很多服务器上面的问题处理,为了能够提高处理问题的效率,需要掌握基础的运维操作步骤,如:镜像包的替换、容器内映射文件、容器日志的查看等。
镜像包替换:一般遇到BUG类的问题我们需要上服务器更新包。
容器映射文件:如果客户遇到特殊的问题,或者急需处理的问题,可以通过映射文件的方式进行处理。
容器日志的查看:有些日志平台管理里面报错信息不全,需要进入服务器查看相关的日志信息。

注意:任何更新操作都需要在第一时间先进行备份,在进行更新
更新镜像包操作,以更新web为例

1、先进行web镜像备份。
可以使用dp | grep web 命令查看,web镜像的信息
运维基础变更文档 - 图1
通过docker tag 镜像名称 备份镜像名称
运维基础变更文档 - 图2
可以通过di | grep web,命令查看是否备份成功,如果出现lts-8.5.bak就说明备份成功。
运维基础变更文档 - 图3
接下来需要备份config的配置文件。备份目录是在/youdata 目录下,并通过cp -r 的命令进行备份。
运维基础变更文档 - 图4
第一次更新可以使用cp -r config config.bak;后续在更新可以使用cp -r config/* config.bak/
备份完成之后通过ll、ls命令查看详情
运维基础变更文档 - 图5

2、解压并上传镜像
通过tar -xzvf 镜像名,对镜像进行解压
运维基础变更文档 - 图6
通过docker load -i 镜像包
运维基础变更文档 - 图7
更换解压出来的config文件包
运维基础变更文档 - 图8

3、重启服务
docker service update --force youdata_web命令重启
运维基础变更文档 - 图9
双机环境:docker service update --force ydswarm_web
同时可以通过di | grep web命令进行查看web是否更换成功。

如何映射文件

1、映射文件的目录一般开发会告知,比如:映射web和innerweb的src/app/server/controller/utilController.js 文件。
说明:要映射web容器里面src/app/server/controller/目录下面的utilController.js
2、搜索容器id
运维基础变更文档 - 图10
3、将文件拷贝到对应的youdata/custom 目录下 (默认前面还有一个/www/前缀)
运维基础变更文档 - 图11 4、修改对应的配置之后,需要再yaml文件里面进行映射(映射的哪个模块,就在哪个模块下面进行修改) 运维基础变更文档 - 图12
volumes 就是映射文件的地方,前面是容器外部文件的路径:/youdata/custom/utilController.js;后面是容器内部的文件路径:/www/src/app/server/controller/utilController.js
5、映射完成之后dsd一下yaml文件就可以了。
dsd docker-stack.youdata85.yaml youdata --单机
dsd docker-stack.ydswarm85.yaml ydswarm --双机

如何查看容器日志 1、一般的历史日志都是在/youdata/log下面。当transid在有数后台管理里面查不到日志信息,或者日志信息不全的时候,就需要进入有数服务器里面查看对应服务模块的日志,每一个目录对应一个服务的日志:

运维基础变更文档 - 图13
在不知道transid在哪个文件夹的时候可以通过 grep 日志id 文件名* 查看
运维基础变更文档 - 图14

2、查看容器的实时日志:
一、如果一个服务里面有多个容器的时候,可以单独查看其中一个容器的实时日志:
dp | grep web
docker logs -f --tail 200 容器id
运维基础变更文档 - 图15 二、如果有多个容器,并且双机的情况下如果看一个容器的实时日志:
docker service logs -f --tail 200 youdata_web --单机
docker service logs -f --tail 200 ydswarm_web --双机 运维基础变更文档 - 图16
三、如果一个容器重启过,如果查看重启的原因:
dpa | grep web
运维基础变更文档 - 图17
Exited (1) 49 minutes ago 就是退出的容器,查看这个容器的日志就可以看到重启的原因
运维基础变更文档 - 图18
docker inspect <容器id>也可以通过这个命令直接查看
运维基础变更文档 - 图19