GVKun编程网logo

Docker -v 对挂载的目录没有权限 Permission denied(docker挂载目录权限问题)

23

本文将为您提供关于Docker-v对挂载的目录没有权限Permissiondenied的详细介绍,我们还将为您解释docker挂载目录权限问题的相关知识,同时,我们还将为您提供关于Boot2docke

本文将为您提供关于Docker -v 对挂载的目录没有权限 Permission denied的详细介绍,我们还将为您解释docker挂载目录权限问题的相关知识,同时,我们还将为您提供关于Boot2docker 在 windows 上遇到 “Permission denied” 错误、Cloud Firestore:PERMISSION_DENIED:调用方没有权限、docker cannot open directory .: Permission denied无权限问题、docker Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/的实用信息。

本文目录一览:

Docker -v 对挂载的目录没有权限 Permission denied(docker挂载目录权限问题)

Docker -v 对挂载的目录没有权限 Permission denied(docker挂载目录权限问题)

docker run -d -p 9091:8080 -v /home/xuhaixing/docker/tomcat/webapps/:/usr/local/tomcat/webapps/ --name managertomcat xuhaixing/mytomcat

挂载路径后,进入容器

root@08066d03a043:/usr/local/tomcat# cd webapps/
root@08066d03a043:/usr/local/tomcat/webapps# ls
ls: cannot open directory ''.'': Permission denied
root@08066d03a043:/usr/local/tomcat/webapps#
查看 webapps 提示没有权限。

 

原因:
centos7 中安全模块 selinux 把权限禁掉了。

有三种方法解决:
1. 在运行时加 --privileged=true

[xuhaixing@localhost tomcat]$ docker run -d -p 9091:8080 -v /home/xuhaixing/docker/tomcat/webapps/:/usr/local/tomcat/webapps/ --privileged=true --name managertomcat xuhaixing/mytomcat
c512137b74f3366da73ff80fc1fd232cc76c95b52a4bab01f1f5d89d28185b28
[xuhaixing@localhost tomcat]$ ls

2. 临时关闭 selinux 然后再打开

[root@localhost tomcat]# setenforce 0
[root@localhost tomcat]# setenforce 1


3. 添加 linux 规则,把要挂载的目录添加到 selinux 白名单

# 更改安全性文本的格式如下
chcon [-R] [-t type] [-u user] [-r role] 文件或者目录

选顷不参数:
-R :该目录下的所有目录也同时修改;
-t :后面接安全性本文的类型字段,例如 httpd_sys_content_t ;
-u :后面接身份识别,例如 system_u;
-r :后面街觇色,例如 system_r
执行:
chcon -Rt svirt_sandbox_file_t /home/xuhaixing/docker/tomcat/webapps/

Boot2docker 在 windows 上遇到 “Permission denied” 错误

Boot2docker 在 windows 上遇到 “Permission denied” 错误

从 https://github.com/boot2docker/windows-installer/releases. 上下载了最新的 docker-install v1.1.2,运行时发生如下错误:

C:\apps\Boot2Docker>bash
luog@IKARI:/c/apps/Boot2Docker$ ./start.sh
initializing...
./start.sh: line 21: ./boot2docker.exe: Permission denied
starting...
./start.sh: line 23: ./boot2docker.exe: Permission denied
connecting...
./start.sh: line 25: ./boot2docker.exe: Permission denied
如果从非 bash 环境下直接运行发生的错误是:

C:\apps\Boot2Docker>boot2docker.exe
Access is denied.



不知道有人遇到过没有,给何解?

Cloud Firestore:PERMISSION_DENIED:调用方没有权限

Cloud Firestore:PERMISSION_DENIED:调用方没有权限

如何解决Cloud Firestore:PERMISSION_DENIED:调用方没有权限?

遇到此问题时,我正尝试将数据保存到 Cloud Firestore。我还是第一次使用 Firestore,不知道为什么。

这有效

match /{document=**}/{userId} //code of interest
rules_version = ''2'';
service cloud.firestore {
  match /databases/{database}/documents {
    match /users/{userId} {
      allow read,update,delete: if request.auth != null && request.auth.uid == userId;
      allow create: if request.auth != null;
    }
    match /{document=**}/{userId} {
        allow read,delete: if request.auth != null && request.auth.uid == userId;
      allow create: if request.auth != null;
    }
  }
}

这不起作用。我所做的只是将通配符语法更改为其他内容,但我的权限被拒绝。

match /data/{userId} //code of interest
rules_version = ''2'';
service cloud.firestore {
  match /databases/{database}/documents {
    match /users/{userId} {
      allow read,delete: if request.auth != null && request.auth.uid == userId;
      allow create: if request.auth != null;
    }
    match /data/{userId} {
        allow read,delete: if request.auth != null && request.auth.uid == userId;
      allow create: if request.auth != null;
    }
  }
}

这是我用来将数据保存到 Firestore 的代码。 当我在 firestore 规则中使用通配符语法时,这很好用

        fireStore
            .collection("data")
            .document(firebaseAuth.currentUser!!.uid)
            .collection("recipes")
            .document(recipe.recipeName!!)
            .set(recipeEntityMapper.mapToEntity(recipe))
            .addOnFailureListener{
                cLog(it.message)
            }
            .await()

来自 Crashlytics 的堆栈跟踪

Fatal Exception: com.google.firebase.firestore.FirebaseFirestoreException: PERMISSION_DENIED: The caller does not have permission
       at com.google.firebase.firestore.util.Util.exceptionFromStatus(Util.java:117)
       at com.google.firebase.firestore.core.SyncEngine.notifyUser(SyncEngine.java:575)
       at com.google.firebase.firestore.core.SyncEngine.handleRejectedWrite(SyncEngine.java:457)
       at com.google.firebase.firestore.core.MemoryComponentProvider$RemoteStoreCallback.handleRejectedWrite(MemoryComponentProvider.java:109)
       at com.google.firebase.firestore.remote.RemoteStore.handleWriteError(RemoteStore.java:729)
       at com.google.firebase.firestore.remote.RemoteStore.handleWriteStreamClose(RemoteStore.java:685)
       at com.google.firebase.firestore.remote.RemoteStore.access$600(RemoteStore.java:53)
       at com.google.firebase.firestore.remote.RemoteStore$2.onClose(RemoteStore.java:206)
       at com.google.firebase.firestore.remote.AbstractStream.close(AbstractStream.java:344)
       at com.google.firebase.firestore.remote.AbstractStream.handleServerClose(AbstractStream.java:398)
       at com.google.firebase.firestore.remote.AbstractStream$StreamObserver.lambda$onClose$3$AbstractStream$StreamObserver(AbstractStream.java:151)
       at com.google.firebase.firestore.remote.AbstractStream$StreamObserver$$ExternalSyntheticLambda2.run(:4)
       at com.google.firebase.firestore.remote.AbstractStream$CloseGuardedRunner.run(AbstractStream.java:67)
       at com.google.firebase.firestore.remote.AbstractStream$StreamObserver.onClose(AbstractStream.java:137)
       at com.google.firebase.firestore.remote.FirestoreChannel$1.onClose(FirestoreChannel.java:136)
       at io.grpc.internal.ClientCallImpl.cloSEObserver(ClientCallImpl.java:426)
       at io.grpc.internal.ClientCallImpl.access$500(ClientCallImpl.java:66)
       at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.close(ClientCallImpl.java:689)
       at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.access$900(ClientCallImpl.java:577)
       at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:751)
       at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:740)
       at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
       at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123)
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at com.google.firebase.firestore.util.AsyncQueue$SynchronizedShutdownAwareExecutor$DelayedStartFactory.run(AsyncQueue.java:229)
       at java.lang.Thread.run(Thread.java:923)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

docker cannot open directory .: Permission denied无权限问题

docker cannot open directory .: Permission denied无权限问题

docker运行一个容器后,将主机中当前目录下的文件夹挂载到容器的文件夹后

进入到docker容器内对应的挂载目录中,运行命令ls后提示:

ls: cannot open directory .: Permission denied
解决:

在docker run一个容器时,加上

--privileged=true

给容器加特权即可。

转载自 https://blog.csdn.net/wangshuminjava/article/details/86570357

docker Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/

docker Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/

利用docker构建时,报错

+ docker pull maven:3-alpine Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.40/images/create?fromImage=maven&tag=3-alpine: dial unix /var/run/docker.sock: connect: permission denied script returned exit code 1  

解决方案

启动docker或者重启docker之后
cd /var/run
sudo chmod 666 docker.sock

关于Docker -v 对挂载的目录没有权限 Permission denieddocker挂载目录权限问题的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于Boot2docker 在 windows 上遇到 “Permission denied” 错误、Cloud Firestore:PERMISSION_DENIED:调用方没有权限、docker cannot open directory .: Permission denied无权限问题、docker Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/的相关知识,请在本站寻找。

本文标签: