如何在 docker-compose 中将绝对主机路径挂载为命名卷?

2023-12-05

我已经尝试过解决方案这个堆栈溢出线程。它对我不起作用,如下所示。

这是我的docker-compose.yml file:

version: "3.7"
services:
  db:
    image: mysql
    volumes:
     - data:/var/lib/mysql

volumes:
  data:
    driver_opts:
      type: none
      device: /usr/local/opt/mysql/mywebsite.com
      o: bind  

这是结果docker-compose up:

$ docker-compose up
Creating volume "mycontainer_data" with default driver
Recreating 45bc03b2c674_mycontainer_db_1 ... error

ERROR: for 45bc03b2c674_mycontainer_db_1  Cannot create container for service db: error while mounting volume with options: type='none' device='/usr/local/opt/mysql/mywebsite.com' o='bind': no such file or directory

ERROR: for db  Cannot create container for service db: error while mounting volume with options: type='none' device='/usr/local/opt/mysql/mywebsite.com' o='bind': no such file or directory
ERROR: Encountered errors while bringing up the project.

代替type: none,我也尝试过type: volume and type: bind,但我遇到了同样的错误。

该目录显然存在:

$ ls -al /usr/local/opt/mysql/
...
drwxr-xr-x   2 cameronhudson  staff      64 Jun 10 10:32 mywebsite.com
...


我的配置不起作用有两个原因。

First, Docker 不遵循符号链接,以及mysql目录是一个符号链接:

$ ls -al /usr/local/opt | grep mysql
lrwxr-xr-x    1 cameronhudson  admin    22 Jan 23 17:42 mysql -> ../Cellar/mysql/8.0.13

但是,即使使用没有任何符号链接的路径后,/databases/mywebsite.com,我继续同样的经历no such file or directory error.

我发现如果我改变我的docker-compose.yml文件将此目录安装为无名卷,我得到了一个不同的、更合理的错误:

version: "3.7"
services:
  db:
    image: mysql
    volumes:
     - /databases/mywebsite.com:/var/lib/mysql

新的错误:

ERROR: for mycontainer_db_1  Cannot start service db: b'Mounts denied: \r\nThe path /databases/mywebsite.com\r\nis not shared from OS X and is not known to Docker.\r\nYou can configure shared paths from Docker -> Preferences... -> File Sharing.\r\nSee https://docs.docker.com/docker-for-mac/osxfs/#namespaces for more info.\r\n.'

After 我在 Docker Desktop 中添加了这个路径, 我以前可以up使用我原始配置的服务。它还与type: none, type: volume, type: bind,或离开type完全出来。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 docker-compose 中将绝对主机路径挂载为命名卷? 的相关文章

随机推荐

  • 应用程序成功部署在Tomcat上,但出现404错误

    经过一番努力 我在 远程 Tomcat 5 5 服务器 Turnkey Linux 附带 上部署了一个 Web 应用程序 它是一个带有 Java 后端的 GoogleWebToolkit Web 应用程序 观察日志一切都很顺利 manage
  • 在pentaho中使用“插入/更新”步骤时数据加载很慢

    在 pentaho 4 4 0 中使用 插入 更新 步骤时数据加载很慢 我使用的是pentaho 4 4 0 在kettle中使用 插入 更新 步骤时 数据加载速度与mysql相比太慢 此步骤将在插入之前扫描表中的整个记录 如果记录存在 它
  • 在 WebSphere 中通过 JNDI 配置和查找简单字符串

    对于应用程序的配置 我们希望将一些配置放在应用程序服务器中 我们当前正在使用 WebSphere JNDI 工具来查找 url 和数据源 此外 我们希望将简单的字符串放置在应用程序服务器中 我们不想使用WebSphere 环境变量 资源环境
  • 检查用户是否是 root

    如何在 PHP 脚本中验证用户是否是 root 命令是什么 我尝试过类似的事情 exec su l login lt echo password 但是su命令无法接收密码 请注意 该机器与互联网隔离 因此如果需要 我可以以 root 身份运
  • 配置 Yii2 中的多个用户身份

    我开发一个具有两个不同注册的网站 我有 2 个不同的表 我使用 RbacDB 并且在组件部分的 Web 配置中我有用户配置 根据此我想知道如何在配置文件 配置 components gt request gt insert a secret
  • 无法向 APNS 推送通知以更新 Apple 钱包中的通行证

    我正在尝试向 APNS 推送通知以更新 Apple 钱包应用中的通行证 根据这个文件 我们只需要将通行证类型标识符和推送令牌发送到APNs 然后他们会处理剩下的事情 apnsHost gateway push apple com apnsP
  • 如何从App中的URL下载图像

    我想知道如何从给定的 URL 下载图像并将其显示在 ImageView 中 还有有没有permissions需要在其中提及manifest xml file 你需要把这个permission访问互联网
  • 关于 C++ Boost 图形创建和 vertex_index 属性。

    我是boost菜鸟 我想知道为什么下面的代码编译失败 我正在创建一组顶点 并尝试分配我自己的顶点索引和顶点名称 我正在关注这个页面 http fireflyblue blogspot com 2008 01 boost graph libr
  • 为什么当元素被包裹在另一个元素内时,position:sticky 不起作用?

    我正在尝试粘性导航 但遇到了问题 问题是 当我将导航放在其他元素中时 它不再具有粘性 nav wrapper position absolute bottom 0 nav wrapper nav position sticky top 0
  • 具有两列的 RadioGroup,其中有 10 个 RadioButton

    我有一个RadioGroup我想将按钮在两列五行中彼此相邻对齐 但我无法实现 我尝试过的事情 RelativeLayout gt 外面RadioGroup gt 内部RadioGroup All RadioButtons已被选中 但我只想选
  • 应用样式键后未拾取 TextBlock 的默认样式

    我有一个
  • 是否可以将控件添加到类似于 Visual Studio 中的“属性”窗口的 Windows 窗体?

    我想将类似于 Visual Studio 中的属性窗口的内容添加到我的表单应用程序中 基本上是一个网格 第一列中有一个标签 第二列中有一个可编辑值 我似乎找不到类似的东西 任何关于使用什么和 如何使用它的例子都会很棒 您正在寻找的控件是属性
  • R:用c聚合字符串

    我有一个包含两列的数据框 一列是字符串 另一列是整数 gt rnames sapply 1 20 FUN function x paste item x sep gt x lt sample c 1 5 20 replace TRUE gt
  • 如何在内存中创建一个新的java.io.File? [复制]

    这个问题在这里已经有答案了 我怎样才能创建新的File from java io 在内存中 而不是在硬盘上 我正在使用Java语言 我不想将文件保存在硬盘上 我面临着一个糟糕的 API java util jar JarFile 正在期待着
  • 如何将异步缓存与 Kotlin 协程一起使用?

    我有一个使用协程的 Kotlin JVM 服务器应用程序 我需要在非阻塞网络调用之前放置一个缓存 我想我可以喝点咖啡因AsyncLoadingCache获得我需要的非阻塞缓存行为 这AsyncCacheLoader我需要实现的接口用途Com
  • 禁用 RecyclerView 的某些项目的点击/触摸

    有没有办法防止点击回收器视图的特定项目 已经尝试将视图设置为不可点击且未在视图持有者构造函数中启用 但仍然没有成功 当我触摸该项目布局内的编辑文本时 它仍然可以单击并且会打开键盘 首先十分感谢 编辑 这与引用主题中提出的问题不是同一个问题
  • Apache httpd basic auth 绕过带有 html/jsp 页面的弹出窗口

    我想替换 Apache 的 httpd 基本身份验证 基于弹出窗口 与正常的基于表格的登录页面 可以这样做吗 我找到了答案 希望它可以帮助某人 Apache httpd 服务器内部支持mod auth form 使用它 我们可以通过显示基于
  • 使用 C# 以编程方式获取最后填充的 Excel 行

    我正在尝试使用 Microsoft interop Excel 库和 C 以编程方式获取 Excel 工作表的最后一行 我想这样做 因为我负责循环遍历 Excel 电子表格的所有记录并对它们执行某种操作 具体来说 我需要最后一行的实际数字
  • 使用 C# 计算 Zip 文件中的文件数量

    我正在生成一些 csv 文件 我需要将其压缩到 Zip 文件中 好吧 我有一个框架可以做到这一点 可能一切都会好起来的 但 正如 TDD 所说 在进行一些测试之后 我就可以编写代码了 我的第一个测试听起来很简单 但我在读取 Zip 文件时遇
  • 如何在 docker-compose 中将绝对主机路径挂载为命名卷?

    我已经尝试过解决方案这个堆栈溢出线程 它对我不起作用 如下所示 这是我的docker compose yml file version 3 7 services db image mysql volumes data var lib mys