简体   繁体   English

将卷装入docker容器,不带noexec选项

[英]Mount volume into docker container without noexec option

As i recon, docker (docker-compose also) mounts volumes into container with noexec option, so i cant start any program from inside mounted directory. 当我重新调试时,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

So, inside container we can see /app mounted like /dev/sdb1 on /app type ext4 (rw,nosuid,nodev,noexec,relatime,data=ordered) 所以,在容器内部,我们可以/dev/sdb1 on /app type ext4 (rw,nosuid,nodev,noexec,relatime,data=ordered)看到/ app挂载/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 我在文档中搜索,但一无所获

Listen up all! 全部倾听! Dismiss! 解雇!

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. 这个问题是因为我将我的/ home和/ var / lib / docker移动到磁盘的专用分区(因为缺少磁盘空间),并且默认情况下它们是由linux使用noexec选项安装的。

Docker just retranslate that inside container Docker只是重新转换内部容器

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM