数据库备份到真机
例:
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
评论区