[英]docker-compose transfer mysql to another host
I'm using docker-compose to run MYSQL container and linking it to www-server 我正在使用docker-compose运行MYSQL容器并将其链接到www-server
mysql:
image: mysql
container_name: lip-mysql
ports:
- "3030:3306"
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=user-db
- MYSQL_USER=user
- MYSQL_PASSWORD=user
volumes:
- ./etc/mysql:/var/lib/mysql
When I'm running it on my own computer and want to tranfer it to the production. 当我在自己的计算机上运行它并希望将其传输到生产环境时。 I do this
我做这个
How I should move my mysql data to new environment? 我应该如何将mysql数据移至新环境?
Can you instead dump your MySQL DB from your computer and restore it to the other environment. 您是否可以从计算机中转储MySQL DB并将其还原到其他环境?
dump DB: 转储数据库:
docker exec -it lip-mysql mysqldump --opt -u [uname] -p[pass] [dbname] > [backupfile.sql]
Restore DB: 还原数据库:
docker exec -it lip-mysql mysql -u [uname] -p[pass] [db_to_restore] < [backupfile.sql]
Can you also pin the MySQL docker image in your docker-compose file to avoid not-intended MySQL engine updates. 您还可以将MySQL docker映像固定在docker-compose文件中,以避免意外的MySQL引擎更新。
Here's the solution what I used. 这是我使用的解决方案。
volumes: - ./etc/mysql:/var/lib/mysql
server volumes: - ./etc/mysql:/var/lib/mysql
mysql volumes: - ./etc/mysql:/var/lib/mysql
服务器 Here is the right docker-compose.yml to start: 这是开始的正确docker-compose.yml:
mysql:
image: mysql:5.7
container_name: lip-mysql
ports:
- "3030:3306"
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=user-db
- MYSQL_USER=user
- MYSQL_PASSWORD=user
volumes:
- ./etc/mysql:/var/lib/mysql
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.