侧边栏壁纸
博主头像
Leo

  • 累计撰写 233 篇文章
  • 累计创建 274 个标签
  • 累计收到 0 条评论
标签搜索

目 录CONTENT

文章目录

Docker常用管理脚本

Leo
Leo
2017-06-20 / 0 评论 / 0 点赞 / 69 阅读 / 319 字 / 正在检测是否收录...

数据库备份到真机

例:
backup_mariadb.sh脚本(放入Docker容器里)

#!/bin/bash
#
rm /jiradb_*     #删除旧的备份文件
MYUSER=root
MYPASS="123456789"
MYIP="localhost"
MYPORT="3306"
mysqldump jiradb > jiradb_$(date +%Y%m%d).sql -u$MYUSER -p$MYPASS --host=$MYIP --port=$MYPORT
exit             #退出容器

backup_jiradb.sh脚本(放在真机上,加入ctontab中)

#/bin/bash
docker exec -ti 0ba76bea9688 sh /backup_mariadb.sh      #0ba76bea9688是容器ID
docker cp 0ba76bea9688:/jiradb_$(date +%Y%m%d).sql /volume2/BackUP/JIRA_Data
find /volume2/BackUP/JIRA_Data -mtime +7 -type f -name '*.sql' -exec rm -f {} \;     #删除7天以前的sql文件

容器或内服务随系统启动

在docker宿主机上编写一个服务,这里是用chkconfig方式,当然也可以编写systemctl服务,原理是一样的。

这里的joomla是安装在lnmp环境里的,docker镜像是用lnmp镜像为基础,安装好后只要启动lnmp服务就等于启动了joomla了。如果lnmp本身是自启动的,那就只需要启动容器就行了。

vim /etc/init.d/joomla

#!/bin/bash
# chkconfig: 2345 90 60
start_docker=`docker run  -tid -p 80:80 -v /home/joomla/:/home/wwwroot/defaule joomla2 /bin/bash`
#
docker start ${start_docker}
case \"$1\" in
        start)
                docker exec -ti ${start_docker} sh /usr/bin/lnmp start
                ;;
        *)
                docker exec -ti ${start_docker} sh /usr/bin/lnmp restart
        ;;
esac

0

评论区