服务启停
当前服务集合
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