gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 17:36:30 25 4
gpt4 key购买 nike

我已经尝试过 this stackoverflow thread 中的解决方案.它对我不起作用,如下所示。

这是我的 docker-compose.yml文件:

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: volumetype: bind ,但我遇到了同样的错误。

该目录明确存在:
$ ls -al /usr/local/opt/mysql/
...
drwxr-xr-x 2 cameronhudson staff 64 Jun 10 10:32 mywebsite.com
...

最佳答案

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

一、 Docker 不遵循符号链接(symbolic link) ,以及 mysql目录是一个符号链接(symbolic link):

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

但是,即使使用没有任何符号链接(symbolic link)的路径, /databases/mywebsite.com ,我继续同样的经历 no such file or directory错误。

我发现如果我改变我的 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.'

我在 Docker 桌面中添加了这个路径 ,我能够 up使用我的原始配置的服务。它也适用于 type: none , type: volume , type: bind ,或离开 type完全出来。

关于docker-compose - 如何在 docker-compose 中将绝对主机路径安装为命名卷?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56531493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com