您好,我已经使用此命令创建了mysql映像
docker run --name db_mysql-e MYSQL_ROOT_PASSWORD=1234 -e MYSQL_DATABASE=mami -p 3306:3306 -d mysql
docker pull mysql->使用mysql创建映像
{{1}}
我执行它,但是之后我不知道该怎么做以及如何在此容器中创建数据库以及备份工作
如果有人可以帮助我逐步进行操作
答案 0 :(得分:0)
您可以使用主机系统中的cron服务,按照documentation for the mysql docker image中的说明运行以下命令:
每天晚上2:00运行命令的crontab示例:
00 02 * * * /usr/bin/docker exec db-mysql sh -c 'exec mysqldump --all-databases -uroot -p"my-secret-pw"' > /some/path/on/your/host/all-databases.sql
或者,您可以运行另一个专门为此任务设计的容器,例如deitch/mysql-backup:
docker run --name db-mysql -d \
-e MYSQL_ROOT_PASSWORD=my-secret-pw \
-e MYSQL_USER=my-user \
-e MYSQL_PASSWORD=my-user-password \
-e MYSQL_DATABASE=my-db \
mysql:latest
docker run -d --restart=always \
--name=db-backup \
-e DB_DUMP_BEGIN=0200 \
-e DB_SERVER=db-mysql \
-e DB_USER=my-user \
-e DB_PASS=my-user-password \
-e DB_NAMES=my-db \
-e DB_DUMP_TARGET=/db \
-v /somewhere/on/your/host/:/db \
databack/mysql-backup
您还需要确保/somewhere/on/your/host/
组的用户可以写入1005
文件夹:
sudo chgrp 1005 /somewhere/on/your/host/
sudo chmod g+rwX /somewhere/on/your/host/
但是此容器必须具有连接到您的db-mysql
容器的手段。为此,您创建一个泊坞窗网络并将两个容器都连接到它:
docker network create mysql-backup-net
docker network connect mysql-backup-net db-backup
docker network connect mysql-backup-net db-mysql