这些是我到目前为止采取的步骤吗?
打开程序 - hyperv > 虚拟交换机管理器 > 创建虚拟交换机 > name = myvm1
docker-machine create -d hyperv --hyperv-virtual-switch "myswitch" myvm1
$ docker-machine create --driver hyperv default
$ docker-machine env --shell cmd default
$ @FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO @%i
docker run --name myJenkins1 -p 8080:8080 -p 50000:50000 -v //d/jenkins-data:/var/jenkins_home jenkins/jenkins:lts
下面的错误
touch: Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied
最佳答案
只是为了记录,我在运行我的 Jenkins 容器几天没有问题后遇到了同样的问题,突然它拒绝重新开始吐出问题中描述的错误。经过一个小时的调查,我尝试取消共享 C: 驱动器并再次共享它,最后 Docker Desktop 告诉我,我有防火墙阻止了端口 445,因此阻止了主机和虚拟机之间的文件共享。可能是系统管理员在系统更新后添加的规则。
我做了一个快速测试,只是禁用了防火墙,Jenkins 容器再次启动没有问题。有关此问题的更多信息:Settings to Windows Firewall to allow Docker for Windows to share drive
如果这不起作用,则可能是您更改了 Windows 帐户密码。在这种情况下,您只需重置 Docker 凭据以共享文件,以便 Docker 可以再次访问文件系统。
关于Docker Windows 10 - 如何运行 Jenkins,在 d 驱动器上绑定(bind)卷而不会出现权限错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53104918/