前提
我的所有软件都放在 ~/wrok/docker 目录下,且一个软件一个文件夹,结构如下:
$ ll ~/work/docker... grafana... jenkins... mysql8... mysqld-exporter... prometheus... rabbitmq... redis
以 grafana 为例,里面的文件结构如下:
$ ll ~/work/docker/grafana... data... docker-compose.yml
启动脚本
app.sh
#!/bin/bashversion=1.0.0appName=$2basePath=/Users/huangxy/work/dockerfunction start(){cd $basePath/$appNamedocker-compose up -d}function stop(){cd $basePath/$appNamedocker-compose stop}function usage(){echo "Usage: ./app.sh {start|stop} {appName}"echo "Example: ./app.sh start mysql8"exit 1}case $1 instart)start;;stop)stop;;*)usage;;esac
可以使用 ./app.sh {start|stop} {appName} 启动/关闭软件。比如我在 mysql8 的 docker-compose.yml 下,不止启动了 mysql8 服务,也启动了 mysqld-exporter 服务,如果没有脚本的话,我需要 cd 到 mysql8 文件夹下,然后再使用 docker-compose up -d 启动服务。使用脚本的话,就不必做那么多重复的步骤
