在安装lnmp的docker compose环境中,为了方便网站的启停,用脚本来管理。
主要使用了docker-compose的 -f 指定compose文件的方式来实现的。
本文主是上篇文章 《docker-compose 部署nginx1.7 + php7.3.5 + MySQL5.7》 的补充
1.0 脚本
脚本放在 /data/mcabana/lastackd
compose 文件路径,和 nginx容器的id,需要手动填写。
脚本功能:
1)nginx 的语法测试,配置重载;
2)lnmp项目的启停控制;
#!/bin/bash
#
# fileName: lastackd.sh
# author: www.mcabana.com
# mail: 934356678@qq.com
# created: Fri 13 Mar 2020 05:57:41 PM CST
#
### BEGIN INIT INFO
# Description:
#
#
### END INIT INFO
. /etc/init.d/functions
# 项目的docker compose文件位置
dm_conf="/data/mcabana/docker-compose.yml"
# nginx 容器的id
nginx_id="64e752fbacb3"
function usage() {
if [ $# -lt 1 ];then
echo "USAGE: lastackd {start|stop|restart|-t|-h|-s}"
exit
fi
}
function f_help() {
cat <<EOF
www.mcabana.com
Usage: lastackd [OPTION]
Options:
-h : this help
-t : test nginx configuration and exit
-s : reload nginx configuration and exit
start : start docker-compose web-lastack container
stop : stop docker-compose web-lastack container
restart : restart docker-compose web-lastack container
EOF
}
function check_conf() {
docker container exec -it $nginx_id nginx -t &>/dev/null
test $? -eq 0 && action "nginx test" /bin/true
}
function reload_nginx() {
docker container exec -it $nginx_id nginx -s reload
test $? -eq 0 && action "nginx reolad" /bin/true
}
function main() {
usage "$*"
case $1 in
-h)
f_help
;;
-t)
check_conf
;;
-s)
reload_nginx
;;
start|stop)
docker-compose -f $dm_conf $1
;;
re)
docker-compose -f $dm_conf restart
;;
*)
usage
;;
esac
}
main "$*"
2.0 添加软连接,设置环境变量
脚本写完后,为了方便随地调用,就添加下软连接,以后使用就不需要用绝对路径了。
ln -s /data/mcabana/lastackd /usr/bin/lastack
然后就可以使用了,如获取帮助
[root mcabana 12:00:47] /data -- $ lastack -h www.mcabana.com Usage: lastackd [OPTION] Options: -h : this help -t : test nginx configuration and exit -s : reload nginx configuration and exit start : start docker-compose web-lastack container stop : stop docker-compose web-lastack container restart : restart docker-compose web-lastack container [root mcabana 12:00:48] /data
# 重启项目

其他使用可参照-h,帮助信息。
https://www.hugbg.com/archives/1721.html


评论