docker 命令报异常permission denied的解决方案
在Linux系统中,新安装docker,输入命令,如:docker images
结果却报异常了
简单理解就是当前用户的连接被拒绝了
解决方案一:
使用管理员权限,命令前加sudo
解决方案二:
给当前用户加入到docker用户组中
sudo groupadd docker #添加docker用户组,这个用户组应该是已存在了 sudo gpasswd -a $USER docker #将当前用户加入到docker用户组中 newgrp docker #更新用户组docker
再执行 docker images
这个就可以正常使用了
补充:Docker -v 对挂载的目录没有权限 Permission denied解决办法
情况描述
今天在使用docker run -d -p 9091:8080 -v /home/daniu/docker/tomcat/webapps/:/usr/local/tomcat/webapps/ --name managertomcat daniu/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
[daniu@localhost tomcat]$ docker run -d -p 9091:8080 -v /home/daniu/docker/tomcat/webapps/:/usr/local/tomcat/webapps/ --privileged=true --name managertomcat xuhaixing/mytomcat c512137b74f3366da73ff80fc1fd232cc76c95b52a4bab01f1f5d89d28185b28 [daniu@localhost tomcat]$ ls
2.临时关闭selinux然后再打开
[daniu@localhost tomcat]# setenforce 0 [daniu@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/daniu/docker/tomcat/webapps/
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。
相关推荐
-
Docker Secret的管理和使用详解
一.什么是Docker Secret (一)情景展现 我们知道有的service是需要设置密码的,比如mysql服务是需要设置密码的: version: '3' services: web: image: wordpress ports: - 8080:80 volumes: - ./www:/var/www/html environment: WORDPRESS_DB_NAME=wordpress WORDPRESS_DB_HOST: mysql WORDPRESS_DB_PASSWORD:
-
docker空间爆满导致的进入容器失败的解决方案
由于问题发生的比较突然,业务催的比较急,所以没来得及截图案发现场,所以现场截图为后期正常的环境. 周一上班,照例进入服务器,进入docker容器 >>> docker exec -i -t xxx /bin/bash Docker error : no space left on device 没空间了? 立马想到查看系统的空间 >>> df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 3.9G 0 3.
-
docker 文件存放路径, 修改端口映射操作方式
如何获取容器的启动命令 容器早已创建好,如何得知它的启动参数(数据挂载到哪) #假设通过如下命令启动了一个容器 docker run -d --name mysql_cdh \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=123456 \ -v mysql-data:/var/lib/mysql \ --restart=always \ mysql:5.5 --character-set-server=utf8 #如何通过容器名得知启动参数 [root@jenki
-
docker pull拉取超时的解决方案
最近docker pull镜像的时候非常不稳定,速度慢不说还经常超时失败 Pulling xlxdsj_swagger_ui (swaggerapi/swagger-ui:)... latest: Pulling from swaggerapi/swagger-ui ba3557a56b15: Pull complete 1a18b9f93d41: Pull complete 38ceab6c6432: Pull complete 6104f3bd82cc: Pull complete 750e
-
Springboot服务Docker化自动部署的实现方法
还在手动将springboot项目打包,然后上传服务器,手动执行启动命令将项目启动吗?你out了!通过Docker配置DockerMaven插件,快速部署,一键将springboot服务器部署到服务器,一键启动,告别传统部署方式,实现自动化运维的第一步,心动吗?快来一起看看~ 微服务部署方式 (1)手动部署:首先基于源码打包生成jar包(或war包),将jar包(或war包)上传至虚拟机并拷贝至JDK容器. (2)通过Maven插件自动部署. 对于数量众多的微服务,手动部署无疑是非常麻烦的做法,
-
Docker 清理的常用方法及问题
如果你使用 docker 进行大规模开发,但是没有清理策略,那么你的磁盘马上就会被填满,当你真的必须因为产品火爆而要立即交付一些东西时,你就无法交付. 当我们在计算机中运行一个进程时,一旦这个进程完成,所有东西都会随之销毁.容器是我们现在很多人操作的基础设施.一切东西都运行在一个容器上,旨在每个容器有一个进程.当进程完成,容器就退出.但它不会自行清理. Docker 积累的东西 你需要注意这些 已经停止的容器 磁盘卷 镜像 网络 如果有足够的空间,你可能不太关心磁盘空间,但是网络也很重要.默认地
-
解决docker run中使用 ./ 相对路径挂载文件或目录失败的问题
docker-compose.yml文件中允许使用'./'相对路径 version: '3' ... volumes: - ./init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js:ro - ./mongo-volume:/data/db ... 会将当前路径下的init-mongo.js文件挂载到容器中的/docker-entrypoint-initdb.d/init-mongo.js,并且设置为只读方式; 会将当前路径下的mongo-
-
docker 命令报异常permission denied的解决方案
在Linux系统中,新安装docker,输入命令,如:docker images 结果却报异常了 简单理解就是当前用户的连接被拒绝了 解决方案一: 使用管理员权限,命令前加sudo 解决方案二: 给当前用户加入到docker用户组中 sudo groupadd docker #添加docker用户组,这个用户组应该是已存在了 sudo gpasswd -a $USER docker #将当前用户加入到docker用户组中 newgrp docker #更新用户组docker 再执行 docker
-
Python中Permission denied的解决方案
运行代码时,出现诸如这样的 文件的权限有可能出问题,不过更多是路径本身有问题.比如,你的文件名是否正确,路径是否正确,路径后面是不是多了什么奇奇怪怪的符号('\n'之类的)有换行符一定要删除. 补充:Python报错:PermissionError: [Errno 13] Permission denied 解决方案详解 出现错误的原因: 1.文件找不到, 2.文件被占用, 3.文件无权限访问, 4.打开的不是文件,而是一个目录 补充:遇到错误:python文件读写权限permission de
-
Nginx报403 forbidden错误 (13: Permission denied)的解决办法
查看/var/log/nginx/error.log日志显示:xxx 403 forbidden (13: Permission denied)错误.我勒个去~ 引起nginx 403 forbidden通常是三种情况:一是缺少索引文件,二是权限问题,三是SELinux状态. 一.缺少index.html或者index.PHP文件,就是配置文件中index index.html index.htm这行中的指定的文件 server { listen 80; server_name localhos
-
Python报错:PermissionError: [Errno 13] Permission denied的解决办法
问题描述: 我一直用python处理气象数据,之前写过一个处理气象数据的程序,一直都可以用的,可是昨天我再想处理数据的时候提示我如下错误 Traceback (most recent call last): ...中间忽略 File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\xarray\backends\file_manager.py", line 205,
-
Linux中Oracle启动侦听报错TNS:permission denied的解决方法
前言 最近在开发环境 oracle 启动侦听的时候,出现了 TNS:permission denied 的问题,通过网上和咨询朋友,最终找到了解决方案,现在共享出来给有需要的朋友. 错误描述 [oracle@oracle ~]$ lsnrctl start LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 27-MAR-2015 15:37:59 Copyright (c) 1991, 2009, Oracle. All rights r
-
阿里云镜像安装docker报错的问题及解决方案
问题 使用阿里云镜像安装docker时出现如下报错,具体如下图: Malformed entry 60 in list file /etc/apt/sources.list (Component) 解决方案 注意到报错提示/etc/apt/sources.list 这个文件第60行格式错误,那么尝试把这行注释掉.先打开这个文件: $ sudoedit /etc/apt/sources.list 再使用vim的语法进入编辑模式后,找到第60行的 deb [arch=amd64] https://d
-
Mybatis单个参数的if判断报异常There is no getter for property named 'xxx' in 'class java.lang.Integer'的解决方案
我们都知道mybatis在进行参数判断的时候,直接可以用<if test=""></if> 就可以了,如下: 1.常规代码 <update id="update" parameterType="com.cq2022.zago.order.entity.Test" > update t_test_l <set > <if test="trnsctWayId != null"
-
详解Nginx 13: Permission denied 解决方案
今天在用uwsgi+nginx在部署flask应用时,遇到502的错误,vim /var/log/nginx/error.log查看nginx的错误日志,提示如下错误信息: 2018/07/22 00:46:36 [crit] 15890#15890: *74 connect() to unix:/root/jianshuvue/jianshu.sock failed (13: Permission denied) while connecting to upstream, client: 12
-
Mybatis单个参数的if判断报异常There is no getter for property named 'xxx' in 'class java.lang.Integer'的解决方案
我们都知道mybatis在进行参数判断的时候,直接可以用<if test=""></if> 就可以了,如下: 1.常规代码 <update id="update" parameterType="com.cq2022.zago.order.entity.Test" > update t_test_l <set > <if test="trnsctWayId != null"
-
如何免sudo使用docker命令详解
背景 Docker是PaaS供应商dotCloud开源的一个基于LXC 的高级容器引擎,源代码托管在 GitHub 上, 基于Go语言开发并遵从Apache 2.0协议开源.Docker提供了一种在安全.可重复的环境中自动部署软件的方式,它的出现拉开了基于云计算平台发布产品方式的变革序幕. 对Linux系统管理员或高级用户而言,sudo是必不可少的最重要的命令之一.而因为使用的是sudo安装docker,所以会导致一个问题.以普通用户登录的状况下,在使用 docker images 时必须添加
随机推荐
- 使用navicate连接阿里云服务器上的mysql
- extJs 文本框后面加上说明文字+下拉列表选中值后触发事件
- 一览画面点击复选框后获取多个id值的方法
- SQL Server中数据行批量插入脚本的存储实现
- vuejs父子组件通信的问题
- JavaScript实现离开页面前提示功能【附jQuery实现方法】
- 较为全面的asp防CC攻击代码分享
- Linux下C语言实现C/S模式编程
- 深入理解Android中的Handler异步通信机制
- IE中checkbox在刷新后初始化的问题
- Python实现的手机号归属地相关信息查询功能示例
- C#序列化与反序列化(Serialize,Deserialize)实例详解
- Android 4.0 设置全屏修改的解决方法
- php上传图片获取路径及给表单字段赋值的方法
- Android线程中设置控件的值提示报错的解决方法
- C语言实现红黑树的实例代码
- linux虚拟网络设备之vlan配置详解
- python 把文件中的每一行以数组的元素放入数组中的方法
- Javascript的console['']常用输入方法汇总
- windows安装TensorFlow和Keras遇到的问题及其解决方法