docker容器其实就是在镜像的基础上添加了一个读写层,在容器被删除的时候,容器所保持的数据状态将会丢失,对于MySQL这样的持久数据存储是灾难性的,那么这时候容器的数据持久化就显得很必要了。
Mysql的数据文件一般默认是存储在/var/lib/myql
下,其中的文件夹对应每个数据库
#其中的wordpress文件夹就是我名称wordpress对应的数据库 root@990f20ea8714:/var/lib/mysql# cd /var/lib/mysql && ls auto.cnf client-key.pem ibdata1 private_key.pem sys ca-key.pem ib_buffer_pool ibtmp1 public_key.pem wordpress ca.pem ib_logfile0 mysql server-cert.pem client-cert.pem ib_logfile1 performance_schema server-key.pem
进入数据库
root@990f20ea8714:/var/lib/mysql# cd wordpress/ && ls db.opt wp_options.frm wp_term_relationships.ibd wp_usermeta.frm wp_commentmeta.frm wp_options.ibd wp_term_taxonomy.frm wp_usermeta.ibd wp_commentmeta.ibd wp_postmeta.frm wp_term_taxonomy.ibd wp_users.frm wp_comments.frm wp_postmeta.ibd wp_termmeta.frm wp_users.ibd wp_comments.ibd tmp81f0fe_posts.frm wp_termmeta.ibd wp_links.frm tmp81f0fe_posts.ibd wp_terms.frm wp_links.ibd wp_term_relationships.frm wp_terms.ibd root@990f20ea8714:/var/lib/mysql/wordpress#
其中的.frm
文件为表结构文件。
其中的.ibd
文件为表数据文件。
docker volume create mysql-data \ docker volume create mysql-config \ docker volume create mysql-log
docker run -d -p 3306:3306 \ --name mysql \ -v mysql-data:/var/lib/mysql \ -v mysql-config:/etc/mysql/conf.d \ -v mysql-log:/var/log/mysql \ -e MYSQL_ROOT_PASSWORD=131452 \ mysql:5.7
原文链接:https://blog.csdn.net/wangleleb/article/details/125539957?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168623078216800185866810%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=168623078216800185866810&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-21-125539957-null-null.268%5Ev1%5Ekoosearch&utm_term=docker%E3%80%81wordpress%E3%80%81wordpress%E5%BB%BA%E7%AB%99%E3%80%81wordpress%E4%B8%BB%E9%A2%98%E3%80%81%E5%AE%B9%E5%99%A8%E9%95%9C%E5%83%8F%E3%80%81