docker - 在没有 noexec 选项的情况下将卷挂载到 docker 容器中
问题描述
当我侦察时,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
因此,在容器内部,我们可以看到 /app 像这样安装
/dev/sdb1 on /app type ext4 (rw,nosuid,nodev,noexec,relatime,data=ordered)
如果没有此选项,是否存在某种挂载卷的方法?我在文档中进行了搜索,但一无所获
解决方案
都听好了!解雇!
我射自己的腿。这个问题是因为我将我的 /home 和 /var/lib/docker 移动到磁盘的专用分区(因为磁盘空间不足),并且默认情况下它们是由 linux 使用 noexec 选项安装的。
Docker只是重新翻译容器内的内容
推荐阅读
- python - 随着用户选择和训练数据而改进的线性回归模型
- sql - 从链接中提取数据并将其放置在新列中
- ballerina - Ballerina V 1.0 - 将数据库连接保存在单独的文件中
- laravel - 如何在 Laravel 5.8 的 owl carousal 滑块中显示我的数据库图像?
- elasticsearch - 使用 Elastic Stack 基本订阅的 OEM
- python - Python requests: Passing multiple client certificates to session.cert
- amazon-redshift - SQLWorkbenchJ 和 Redshift 永远执行这个查询
- android - 启动画面在 android 上的 react-native 应用程序中不起作用
- javascript - 计算无处不在。需要数学奇才
- python - 如何使用for循环绘制直方图和条形图并将它们一起显示?