文档目录

服务启停

当前服务集合

status.sh 检查以下服务:

greatsql elasticsearch dcmp-agent ac1 ap1 dd1 mh1 st1 sa1 crond

容器入口和服务控制文件:

/usr/local/sbin/dcmp-entrypoint
/usr/local/sbin/dcmp-container-prepare
/usr/local/bin/dcmp-healthcheck
/etc/systemd/system/dcmp-container-prepare.service
/usr/lib/systemd/system/dcmp-container.target

状态检查

bash status.sh
docker exec dcmp /usr/local/bin/dcmp-healthcheck
docker exec dcmp systemctl is-active \
  greatsql elasticsearch dcmp-agent ac1 ap1 dd1 mh1 st1 sa1 crond
docker exec dcmp systemctl --failed --no-pager

启动

bash start.sh
bash status.sh

start.sh 会恢复 config.env 中的重启策略,再启动已有容器。

受控停止

bash stop.sh

当前 systemd 容器不会按普通容器方式立即响应 Docker 默认 SIGTERM。stop.sh 会先停止 DCMP 服务,再结束容器并把重启策略临时设为 no。不要用 docker stop 或 docker restart 替代受控流程。

重启容器

bash stop.sh
bash start.sh
bash status.sh

重启单个服务

docker exec dcmp systemctl restart dcmp-agent
docker exec dcmp systemctl restart elasticsearch
docker exec dcmp systemctl restart ac1
docker exec dcmp systemctl is-active dcmp-agent elasticsearch ac1

宿主机重启

Docker/containerd 设为开机自启,容器使用 restart=always。宿主机重启后检查:

systemctl is-active docker containerd
docker ps --filter 'name=^/dcmp$'
cd <delivery-dir>
bash status.sh