在没有noexec选项的情况下将卷装入Docker容器 [英] Mount volume into docker container without noexec option

查看:78
本文介绍了在没有noexec选项的情况下将卷装入Docker容器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我侦察时,docker(也通过docker-compose)使用noexec选项将卷安装到容器中,因此我无法从安装目录内部启动任何程序.

As i recon, docker (docker-compose also) mounts volumes into container with noexec option, so i cant start any program from inside mounted directory.


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已安装/app类型ext4上的/dev/sdb1(rw,nosuid,nodev,noexec,relatime,data = ordered)

So, inside container we can see /app mounted like /dev/sdb1 on /app type ext4 (rw,nosuid,nodev,noexec,relatime,data=ordered)

在没有此选项的情况下是否存在某种方式挂载卷?我在文档中进行了搜索,但一无所获

Is that exist some way to mount volume without this option? I have search in documentation, but found nothing

推荐答案

全部收听!关闭!

我拍自己的腿.这个问题是因为我将/home和/var/lib/docker移到了磁盘的专用分区(因为缺少磁盘空间),并且默认情况下,它们是使用noexec选项由linux挂载的.

I shoot my own leg. This problem was because i moved my /home and /var/lib/docker to dedicated partitions of disk (because lack of disk space), and by default they was mounted by linux with noexec option.

Docker只是在容器内重新翻译了

Docker just retranslate that inside container

这篇关于在没有noexec选项的情况下将卷装入Docker容器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆