linux – 在Ubuntu上运行docker:挂载的主机卷不能从容器写入
Docker在我的Mac上工作得很好,但是我必须在VirtualBox(或Parallels,或VMWare Fusion)中运行docker主机,因为Mac的内核不支持docker.
所以我尝试在Ubuntu桌面上设置我的应用程序和docker-compose – 本机地,docker客户端和docker主机在同一系统上物理运行.这很有用,但我运行的docker容器无法写入已装入的主机卷. 我使用docker-compose进行以下设置: volumes: - ./api:/usr/src/app 所以我将主机Ubuntu OS的“api”目录挂载到/usr/src / app下的docker容器中. docker inspect< container ID>表明该卷是可写的 "Destination": "/usr/src/app","Mode": "rw","RW": true 但事实并非如此:当我尝试从docker容器中创建目录或编辑文件时,我获得了权限被拒绝. 当然,我搜索了这个问题,我遇到了一些CentOS / RHEL的SELinux问题,但我运行的是Ubuntu 15.10,64位版本,而不是CentOS. 解决方法
如果您在主机上的uid(id -u)与docker容器中的用户的uid(通常是“docker”)不同,那么您可能会遇到此问题.你可以试试:
>在Docker容器中使用户与用户之间的UID相同. chmod a rwx -R project-dir / 核选项会让你的git工作区变得肮脏,这会让你很烦恼,所以这不是最好的长期解决方案.它会止血. 为了进一步理解这个问题,您可能会发现这些有用: > https://github.com/docker/docker/issues/7906 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |