我已经尝试过解决方案这个堆栈溢出线程。它对我不起作用,如下所示。
这是我的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(使用前将#替换为@)