我在MacOS Ventura上遇到一个问题,即由于使用docker-compose创建的所有绑定卷(将主机机器上的目录链接到容器上的目录),均为空。我已在MacOS 12.4和12.6上测试了相同的脚本,并按预期工作,在容器中给我与主机上相同的目录内容,因此看起来v13更改了某些权限。
docker-compose.yml文件:
docker-compose.yml文件:
version: "3"
services:
bash:
image: ubuntu:latest
stdin_open: true
tty: true
volumes:
- ./:/app
command: "/bin/bash"
因此,这应该在容器中创建一个名为/app
的目录,并将其链接到compose文件所在的主机目录。
但是当我启动容器时:
❯ docker-compose up --build
[+] Running 1/0
⠿ Container ruby-docker-bash-1 Created 0.0s
Attaching to ruby-docker-bash-1
登录后,/app
目录为空:
❯ docker exec -it ruby-docker-bash-1 /bin/bash
root@9644de175d48:/# cd app/
root@9644de175d48:/app# ls -la
total 4
drwxr-xr-x 2 root root 40 Feb 1 09:59 .
drwxr-xr-x 1 root root 4096 Feb 1 09:39 ..
total 4
在这里看起来真的很奇怪,因为应该有4个文件在那里,但是无法访问:
root@9644de175d48:/app# cat Gemfile
cat: Gemfile: No such file or directory
这是主机上的目录内容:
❯ ls -la
.rw-r--r-- 2.7k paul 1 Feb 09:31 Dockerfile
.rw-r--r-- 3.9k paul 1 Feb 09:32 Gemfile
.rw-r--r-- 27k paul 1 Feb 09:32 Gemfile.lock
.rw-r--r-- 149 paul 1 Feb 10:00 docker-compose.yml
如果有人对可能出现的问题有任何经验,或者知道如何解决这个绝对耗费时间的问题,请告诉我,我将不胜感激。
谢谢!