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> 显示该卷可写
docker inspect <container ID>
"Destination": "/usr/src/app", "Mode": "rw", "RW": true
但是事实并非如此:permission denied当我尝试在Docker容器中创建目录或编辑文件时得到提示。
permission denied
我用谷歌搜索了这个问题,当然,我遇到了一些CentOS / RHEL的SELinux问题,但是 我运行的是Ubuntu 15.10(64位版本) ,而不是CentOS。
如果您uid在主机(id -u)上的主机名uid与docker容器中的用户名(通常为“ docker”)不同,则可能会出现此问题。你可以试试:
uid
id -u
chmod a+rwx -R project-dir/
核选项会使您的git工作区变得肮脏,这会极大地烦扰您,因此这不是最佳的长期解决方案。它可以止血。
git
为了进一步理解该问题,您可能会发现以下有用: