/etc/systemd/system/
,分别为start.service
、stop-docker.service
,这个两个服务分别在服务器启动后、停机前自动执行;start.service
执行的是start.sh
,stop-docker.service
执行stop.sh
;start.sh
中,首先获取当前服务器的公网 ip,然后替换掉配置文件中的变量 HOST_IP
,最后启动两个容器stop.sh
中,停止所有正在运行的容器。列出比较关键的两步,获取公网 ip,以及替换变量
# 获取宿主机公网IP地址
IP=$(curl -s http://100.100.100.200/latest/meta-data/eipv4)
# 替换配置文件中 IP 为宿主机公网 IP 地址
sed -i "s/{{HOST_IP}}/$IP/g" $CONFIG_FILE
创建 systemd 服务单元文件,格式如下,主要分为三个部分 [Unit]、[Service]、[Install]
# start.service
[Unit]
Description=Java Application
After=network.target
[Service]
Type=simple
ExecStart=/yourpath/to/start.sh
Restart=on-failure
User=YOURUSER
WorkingDirectory=/yourpath/to
[Install]
WantedBy=multi-user.target
# stop-docker.service
[Unit]
Description=Stop Docker Containers
DefaultDependencies=no
Before=shutdown.target reboot.target halt.target
[Service]
Type=oneshot
ExecStart=/opt/dataease2.0/stop.sh
[Install]
WantedBy=halt.target reboot.target shutdown.target
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。