据我所知,docker(也包括 docker-compose)使用 noexec 选项将卷安装到容器中,因此我无法从安装的目录中启动任何程序。
services:
app:
build:
context: .
dockerfile: Dockerfile.development
command: sh -c "rm -f tmp/pids/server.pid && /app/bin/rails s -b 0.0.0.0"
env_file:
- .env
ports:
- "3000:3000"
volumes:
- .:/app:cached
Run Code Online (Sandbox Code Playgroud)
因此,在容器内我们可以看到 /app 安装如下
/dev/sdb1 on /app type ext4 (rw,nosuid,nodev,noexec,relatime,data=ordered)
是否存在某种方法可以在没有此选项的情况下安装卷?我在文档中进行了搜索,但什么也没找到