把玩jenkins docker镜像遇到的volume权限问题
来源:互联网 发布:.net程序员面试指南 编辑:程序博客网 时间:2024/06/06 04:08
这两天在玩jenkins,但是在挂在数据卷的时候遇到了权限问题,如下,
docker启动命令
docker run -d -v /root/jenkins:/var/jenkins_home -P --name jenkins-server jenkins
这个命令看似没有什么问题,但容器就是启动不起来,执行docker ps -a
,查看container
,如下,
[root@esslog-shqs-6 ~]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES274d92964edb jenkins "/bin/tini -- /usr/lo" 2 minutes ago Exited (1) 2 minutes ago jenkins-server
接着执行docker logs jenkins-server
查看container
日志,如下
Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?touch: cannot touch ‘/var/jenkins_home/copy_reference_file.log’: Permission denied
日志中出现了一个Permission denied
错误,,以我目前的功力还不清楚是什么问题造成的,但是在谈谈Docker Volume 之权限管理和持续集成(Continuous integration)两篇博客中找到了答案,在执行docker run
命令的时候增加一个-u
参数,如下改进后的命令,
docker run -d -v /root/jenkins:/var/jenkins_home -u 0 -P --name jenkins-server jenkins
这命令的意思是覆盖容器中内置的帐号,该用外部传入,这里传入0
代表的是root帐号Id。这样再启动的时候就应该没问题了。
如果按照上面做还是出现Permission denied
错误,那么可以检查一下selinux
状态,开启的情况下会导致一些服务安装、使用不成功。
查看selinux状态,
[root@localhost ~]# sestatus SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: enforcing Mode from config file: enforcing Policy MLS status: enabled Policy deny_unknown status: allowed Max kernel policy version: 28
临时关闭,
[root@localhost ~]# setenforce 0
永久关闭,可以修改配置文件/etc/selinux/config,将其中SELINUX设置为disabled,如下,
[root@localhost ~]# cat /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. #SELINUX=enforcing SELINUX=disabled # SELINUXTYPE= can take one of three two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted[root@rdo ~]# sestatus SELinux status: disabled
相关:
docker registry push错误“server gave HTTP response to HTTPS client”
在docker中使用mongo数据库,在局域网访问
在docker中使用mysql数据库,在局域网访问
参考文章:
http://www.cnblogs.com/99fu/p/6042744.html
https://yq.aliyun.com/articles/53990
http://blog.csdn.net/one_clouder/article/details/39224767
http://www.orcs.cc/post/6.html
阅读原文
- 把玩jenkins docker镜像遇到的volume权限问题
- 把玩jenkins docker镜像遇到的volume权限问题
- jenkins构建Docker 镜像(基于Jenkins的Docker镜像及Jenkins插件)
- jenkins构建Docker 镜像(基于Jenkins的Docker镜像及Jenkins插件)
- 拷贝文件到docker volume后出现的权限问题
- 构建MySQL(5.6.22)Docker镜像遇到的问题
- 运行docker时遇到的镜像问题
- docker 启动Jenkins镜像
- Jenkins 构建Docker镜像执行shell脚本用户权限问题
- Docker:使用Jenkins构建Docker镜像
- docker镜像的问题
- Jenkins进行git多分支的docker镜像构建
- 通过Jenkins构建maven项目的Docker镜像
- docker构建jenkins镜像和容器
- 用docker运行jenkins镜像
- VMware Harbor 使用过程中遇到的问题 1 -- 无法上传docker镜像
- jenkins 自动构建docker 推送镜像发布镜像
- 在搭建基于jenkins+maven+git+docker的全自动化部署时遇到的问题
- JavaScript 常用数组函数
- Java实现-爬楼梯
- TCP的URG和PSH详解----区别
- CSS Grid布局:独立源与网格的层叠顺序
- ubuntu安装jdk,亲测可用
- 把玩jenkins docker镜像遇到的volume权限问题
- 自主研发GIS相关引擎,速看。。。
- CSS网格布局和定位网格项
- java定时器封装类
- linux 网络编程 Tcp文件服务器
- CSS Grid布局:图解网格布局中术语三
- Mysql模糊查询like效率,以及更高效的写法
- axios的post
- CSS 布局的未来:网格布局 · 张小伦爱学习