【发布时间】:2018-05-13 15:46:51
【问题描述】:
我有 MySQL 备份容器,它每 1 小时进行一次数据库备份,但我只需要在 docker-compose down 之前进行备份。有可能吗?据我了解,这应该是某种钩子“Before Down”“After Start”。
我想使用这样的东西,但这应该在容器关闭之前自动完成:
docker exec MYSQL_CONTAINER_ID /usr/bin/mysqldump -u root --password=root DATABASE > backup.sql
更新
到目前为止,我所做的是在我拥有的这个脚本中创建了 down.sh 脚本:
#!/bin/bash
CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
docker exec test1-mysql sh -c 'exec mysqldump --databases local -uroot -p"$MYSQL_ROOT_PASSWORD"' > "$CURRENT_DIR/docker/data/backup/local.sql"
docker-compose down
Seams 对我来说是合法的,我需要弄清楚如何将 mysql 容器名称作为变量传递给这个脚本。这里的容器名称是 test1-mysql。我想从 docker-compose.yml 中获取这个值。有什么想法吗?
【问题讨论】:
标签: docker docker-compose