我正在寻找与我的类似的问题,但尚未找到好的解决方案。我正在尝试设置我的环境。
我们首先要设置的是一名搬运工
docker run -d -p 9000:9000 portainer / portainer
然后我们尝试设置Redis
docker pull redis
启动Docker容器
docker run -d --name redis1 -v C:\ Users \ xxx \ docker \ redis.conf:/etc/redis.conf -p 6379:6379 redis:latest
但是却收到了:
C:\ Program Files \ Docker \ Docker \ Resources \ bin \ docker.exe:错误 来自守护程序的响应:创建装入源路径时出错 '/host_mnt/c/Users/xxx/docker/redis.conf':mkdir / host_mnt / c / Users / xxx:权限被拒绝。
我的设置信息
PS C:\> docker info Containers: 3 Running: 1 Paused: 0 Stopped: 2 Images: 3 Server Version: 18.06.1-ce Storage Driver: overlay2 Backing Filesystem: extfs Supports d_type: true Native Overlay Diff: true Logging Driver: json-file Cgroup Driver: cgroupfs Plugins: Volume: local Network: bridge host macvlan null overlay Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog Swarm: inactive Runtimes: runc Default Runtime: runc Init Binary: docker-init containerd version: 468a545b9edcd5932818eb9de8e72413e616e86e runc version: 69663f0bd4b60df09991c08812a60108003fa340 init version: fec3683 Security Options: seccomp Profile: default Kernel Version: 4.9.93-linuxkit-aufs Operating System: Docker for Windows OSType: linux Architecture: x86_64 CPUs: 2 Total Memory: 1.934GiB Name: linuxkit-00155da11105 ID: KNBR:IKUS:M4JG:3XNK:FAT6:UNJI:NIFE:HWUA:2KXY:ULVW:CIUW:E4TH Docker Root Dir: /var/lib/docker Debug Mode (client): false Debug Mode (server): true File Descriptors: 28 Goroutines: 51 System Time: 2018-10-12T13:26:05.2128058Z EventsListeners: 1 Registry: https://index.docker.io/v1/ Labels: Experimental: false Insecure Registries: 127.0.0.0/8 Live Restore Enabled: false
我已经将共享权限授予了我的计算机,我也是该计算机的管理员。我在做什么错了?
答案 0 :(得分:1)
我发现一个解决方法是创建一个新用户帐户,该帐户的用户名与您的AzureAD帐户相同,但没有AzureAD前缀。现在可以了!
https://tomssl.com/2018/01/11/sharing-your-c-drive-with-docker-for-windows-when-using-azure-active-directory-azuread-aad/
答案 1 :(得分:1)
遇到类似的问题(也使用Windows上的AzureAD帐户),我也可以通过创建另一个具有不同名称的非管理员用户来使其工作
当Docker用户不是管理员时,您需要分别授予对所需文件夹的访问权限。我注意到您需要包括他们的父目录,直到您的主目录。
也就是说,如果要授予对C:/Users/You/Projects/Acme/ShareThis
的访问权限,则需要添加两个权限:
C:/Users/You/Projects
中,码头用户仅需要列表目录权限。这将继承所有子文件夹和-file,包括Acme
。C:/Users/You/Projects/Acme/ShareThis
中需要完全访问或只读访问,具体取决于您的需求。您可以通过右键单击目录,然后单击“ <属性>属性> 安全性”标签>“ 编辑”按钮> 添加来设置这些权限。 .. 按钮。输入泊坞用户的名称,然后按 OK 。按下 OK 退出。
此外,请确保未使用Windows的EFS(加密文件系统)对访问的文件进行加密,Docker无法识别它们。但是,在docker run
启动期间,这给我带来了一个稍微不同的错误:
cp:无法打开'/directory/./file':权限被拒绝