文档目录

服务启停

当前服务集合

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 stopdocker 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