docker-compose 部署脚本

脚本放到 docker-compose.yml 同级

sh start.sh xxx

#!/bin/bash
# sed -i -e 's/\r$//' ./*.sh

name=my-nginx
if ! [ -z "$2" ]
then
  name="$2"
fi
usage() {
  echo -e "\n sh start.sh   start | stop | restart | logs | ps | exec | down"
  echo -e "\n参数2可选: "
  cat ./docker-compose.yml |grep 'container_name' |cut -d ":" -f 2
  echo -e "\n"
}

## 下面是主流程
if [ -z "$1" ]
then
        usage
        exit 0
fi
case $1 in
        'start')
                if [ -n "$2" ]
                then
                        echo docker-compose up -d --build $name
                        docker-compose up -d --build $name
                else
                        echo docker-compose up -d
                        docker-compose up -d
                fi
        ;;
        'restart')
                echo docker restart $name
                docker restart $name
        ;;
        'stop')

                echo docker stop and rm $name
                docker stop $name
                docker rm $name
        ;;
        'logs')
                echo " docker logs -f --tail=300 $name "
                docker logs -f --tail=300 $name
        ;;
        'ps')
                echo " docker ps | grep $name "
                docker  ps | grep $name
        ;;
        'exec')
                echo " docker exec -it $name /bin/bash "
                docker exec -it $name /bin/bash
        ;;
        'down')
                echo docker-compose down
                docker-compose down
        ;;
        *)
        usage
        ;;
esac

  

  docker-compose.yml

services:

  my-nginx:
    container_name: my-nginx
    image: nginx
    environment:
      TZ: Asia/Shanghai
    ports:
      - 8010:8010
    volumes:
      - ./conf/nginx.conf:/etc/nginx/nginx.conf
      - ./log:/var/log/nginx
      - ./html:/usr/local/nginx/html
   

  

posted @ 2025-04-10 11:49  若星汉浮云  Views(40)  Comments(0)    收藏  举报