当前位置: 首页 > 知识库问答 >
问题:

为什么 mac+docker 给 mysql 设置的文件卷不起作用?

澹台硕
2023-06-20

图片.png

version: "3"
services:
  mysql8:
    platform: linux/amd64 # 不加这行会报:ERROR: no matching manifest for linux/arm64/v8 in the manifest list entries
    container_name: mysql8
    image: mysql:8.0 # 镜像会从 docker hub 中拉取。地址: https://hub.docker.com/_/mysql?
    ports:
      - "3306:3306" # 冒号左边的宿主机的端口,右边的是容器的端口
    restart: always # 如果容器停止,请始终重新启动容器。  如果是手动停止的,只有在 Docker daemon 重启或者容器本身手动重启时才会重启。https://docs.docker.com/config/containers/start-containers-automatically/
    volumes:
      - /usr/local/mysql/data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: 123456 # root 账号的密码,记得把 Django settings.py 里面 mysql 配置项的密码和这个对应起来

启动容器

─➤  docker-compose -f depend_tools/docker-compose-tools.yaml up -d
[+] Running 12/12
 ✔ mysql8 11 layers [⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿]      0B/0B      Pulled                                                                                                                                                                                                                                                        41.2s 
   ✔ 46ef68baacb7 Pull complete                                                                                                                                                                                                                                                                                 12.3s 
   ✔ 94c1114b2e9c Pull complete                                                                                                                                                                                                                                                                                 12.3s 
   ✔ ff05e3f38802 Pull complete                                                                                                                                                                                                                                                                                 12.3s 
   ✔ 41cc3fcd9912 Pull complete                                                                                                                                                                                                                                                                                 12.4s 
   ✔ 07bbc8bdf52a Pull complete                                                                                                                                                                                                                                                                                 12.4s 
   ✔ 6d88f83726a9 Pull complete                                                                                                                                                                                                                                                                                 12.4s 
   ✔ cf5c7d5d33f7 Pull complete                                                                                                                                                                                                                                                                                 26.7s 
   ✔ 9db3175a2a66 Pull complete                                                                                                                                                                                                                                                                                 26.7s 
   ✔ feaedeb27fa9 Pull complete                                                                                                                                                                                                                                                                                 32.9s 
   ✔ cf91e7784414 Pull complete                                                                                                                                                                                                                                                                                 32.9s 
   ✔ b1770db1c329 Pull complete                                                                                                                                                                                                                                                                                 33.0s 
[+] Building 0.0s (0/0)                                                                                                                                                                                                                                                                                               
[+] Running 2/2
 ✔ Network depend_tools_default  Created                                                                                                                                                                                                                                                                         0.1s 
 ✔ Container mysql8              Started    

但是宿主机还是空空的

╭─ponponon@MBP13ARM ~/Desktop/code/work  
╰─➤  ll /usr/local/mysql/data                                                                                                                                              1 ↵
"/usr/local/mysql/data": No such file or directory (os error 2)
╭─ponponon@MBP13ARM ~/Desktop/code/work  
╰─➤  ll /usr/local/mysql/                                                                                                                                                  2 ↵
"/usr/local/mysql/": No such file or directory (os error 2)

但是登录到容器里面,发现是有东西的

─➤  docker exec -it mysql8 bash                                   
bash-4.4# cd /var/lib/mysql
bash-4.4# ls -alh
total 98M
-rw-r----- 1 mysql mysql 192K Jun 20 01:21 '#ib_16384_0.dblwr'
-rw-r----- 1 mysql mysql 8.2M Jun 20 01:19 '#ib_16384_1.dblwr'
drwxr-x--- 2 mysql mysql  680 Jun 20 01:19 '#innodb_redo'
drwxr-x--- 2 mysql mysql  240 Jun 20 01:19 '#innodb_temp'
drwxr-xr-x 7 mysql root   560 Jun 20 01:19  .
drwxr-xr-x 1 root  root  4.0K Jun 16 00:38  ..
-rw-r----- 1 mysql mysql   56 Jun 20 01:19  auto.cnf
-rw-r----- 1 mysql mysql 2.9M Jun 20 01:19  binlog.000001
-rw-r----- 1 mysql mysql  157 Jun 20 01:19  binlog.000002
-rw-r----- 1 mysql mysql   32 Jun 20 01:19  binlog.index
-rw------- 1 mysql mysql 1.7K Jun 20 01:19  ca-key.pem
-rw-r--r-- 1 mysql mysql 1.1K Jun 20 01:19  ca.pem
-rw-r--r-- 1 mysql mysql 1.1K Jun 20 01:19  client-cert.pem
-rw------- 1 mysql mysql 1.7K Jun 20 01:19  client-key.pem
-rw-r----- 1 mysql mysql 5.6K Jun 20 01:19  ib_buffer_pool
-rw-r----- 1 mysql mysql  12M Jun 20 01:19  ibdata1
-rw-r----- 1 mysql mysql  12M Jun 20 01:19  ibtmp1
drwxr-x--- 2 mysql mysql  160 Jun 20 01:19  mysql
-rw-r----- 1 mysql mysql  30M Jun 20 01:19  mysql.ibd
lrwxrwxrwx 1 mysql mysql   27 Jun 20 01:19  mysql.sock -> /var/run/mysqld/mysqld.sock
drwxr-x--- 2 mysql mysql 2.2K Jun 20 01:19  performance_schema
-rw------- 1 mysql mysql 1.7K Jun 20 01:19  private_key.pem
-rw-r--r-- 1 mysql mysql  452 Jun 20 01:19  public_key.pem
-rw-r--r-- 1 mysql mysql 1.1K Jun 20 01:19  server-cert.pem
-rw------- 1 mysql mysql 1.7K Jun 20 01:19  server-key.pem
drwxr-x--- 2 mysql mysql   60 Jun 20 01:19  sys
-rw-r----- 1 mysql mysql  16M Jun 20 01:21  undo_001
-rw-r----- 1 mysql mysql  16M Jun 20 01:21  undo_002

为什么没有映射过去?文件读写权限的问题?

共有1个答案

巫马淳
2023-06-20

/usr/local 权限不行吧,你换个目录

 类似资料:
  • 问题内容: 我想从主模块和所有子模块登录到单个日志文件。 从主文件(我在其中定义记录器)发送的日志消息按预期工作。但是缺少从调用发送到导入函数的函数。 如果我使用下面的示例1中的logging.basicConfig,它将正常工作。但是允许更多自定义设置的第二个示例不起作用。 有什么想法吗? 示例1-工作 在这里,我创建了两个处理程序,并将它们传递给: 示例2-无法正常工作 在这里,我创建两个处理

  • 我想为我的jFrame设置一个背景,我正在使用下面的代码: 当我执行它时,在系统输出中我有5个“完成”。所以这意味着所有任务都已执行。我不明白错误在哪里。请帮帮我!

  • 问题内容: 当我尝试对文件进行排序并将其输出保存在自身中时,就像这样 file1的内容将被完全删除,而当我尝试使用“ tee”命令执行同样的操作时 它运行良好 [ed:仅对具有幸运时机的小文件“运行良好”,会在大文件上或在无用的进程调度中导致数据丢失] ,即它会覆盖file1本身的排序输出并在标准输出中显示。 有人可以解释为什么第一种情况不起作用吗? 问题答案: 它不起作用,因为’>’重定向意味着

  • 问题内容: 我正在尝试使用Spring Boot和MySQL开发应用程序。正如文档所述,首先,我使用Intelij Idea使用Spring initializr创建了项目,配置了文件,并编写了文件和文件。运行项目后,我发现MySQL数据库中没有表或数据。我的配置有什么问题?请帮忙。 application.properties文件, pom.xml文件中的依赖项, schema-mysql.sq

  • null 配置: Firefox V47.0.1、V49.0.2、V51.0.1和V52.0b9(我尝试了这些不同的版本) Geckodriver 0.14 硒3.1.0 有人有避免使用夜间发布的解决方案吗? 对于信息,由于我的互联网政策,我只能访问stackoverflow和github,请不要建议我使用Chrome! 谢谢你的帮助!

  • 问题内容: 我正在尝试从JSON网址获取集合。骨干网确实发送了请求并得到了响应,但是在它之后的集合中没有: 这是我的JavaScript: 响应中的JSON 响应中的Content-Type HTTP标头为。 为什么不将其加载到集合中?JSON是否正确? 一些更多的代码: 问题答案: 是异步的。尝试 要么 要么