docker安装jenkins及其相关问题解决
2018-12-27 21:36
417 查看
1.拉取镜像并启动容器
docker run -d -p 8080:8080 -p 50000:50000 -v $(pwd)/data:/var/jenkins_home --name jenkins jenkins
2.通过docker ps命令你会发现jenkins容器没有运行起来
3.通过docker ps -a查看所有容器并找到对应的Jenkins容器编号,并通过命令查看对应的日志
docker logs Jenkins
错误信息如下:
touch: cannot touch ‘/var/jenkins_home/copy_reference_file.log’: Permission denied
Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
分析:
我们检查一下之前启动方式的"/var/jenkins_home"目录权限,查看Jenkins容器的当前用户: 当前用户是"jenkins"而且"/var/jenkins_home"目录是属于jenkins用户拥有的。
docker run -ti --rm --entrypoint="/bin/bash" jenkins -c "whoami && id
控制台输出:
docker run -ti --rm --entrypoint="/bin/bash" jenkins -c "ls -la /var/jenkins_home"
控制台输出:
而当映射本地数据卷时,/var/jenkins_home目录的拥有者变成了root用户
docker run -ti --rm -v $(pwd)/data:/var/jenkins_home --entrypoint="/bin/bash" jenkins -c "ls -la /var/jenkins_home"
控制台输出:
这就解释了为什么当"jenkins"用户的进程访问"/var/jenkins_home"目录时,会出现
Permission denied的问题
我们再检查一下宿主机上的数据卷目录,当前路径下"data"目录的拥有者是"root",这是因为这个目录是Docker进程缺省创建出来的。
ls -la data
控制台输出:
发现问题之后,相应的解决方法也很简单:把当前目录的拥有者赋值给
uid 1000,再启动"jenkins"容器就一切正常了。
递归授权并再次启动jenkins
sudo chown -R 1000 data docker start Jenkins
最后输入浏览器地址:http://IP:8080回车 你会发现终于看到老头子了 当然了你还需要安装对应的插件。
相关文章推荐
- 安装jdk后的环境变量配置及其相关问题的解决
- 卸载VS2005 SP1,安装VS2008的一系列问题及其解决
- Windows 7下安装Oracle 11g相关问题解决方法
- Android SDK Manager软件包下载安装相关问题的解决办法
- 关于asp.net[没有相关的源行]错误的解决方法及IIS安装问题
- linux安装matlab的相关问题解决
- 安装LDAP Server过程中遇到的问题及其解决方法
- 解决Windows 7下安装Oracle 11g相关问题的方法
- 安装flex碰到的一个问题及其解决方法(二)(原创)
- berkeley DB 4.6 安装及其使用遇到的问题和解决
- Ubuntu11.10安装Matlab2011b及相关问题解决
- Win 7 ads 1.2 出现Unhandled exception异常的解决方法(安装及其卸载问题)
- Linux下oracle10g的安装与配置及相关问题解决
- 解决ArcGIS 10.1系列软件安装运行的相关问题
- 解决IOS9友盟分享时明明安装了相关的分享软件,却提示未安装的问题
- Windows 7下安装Oracle 11g相关问题解决方法
- 安装pyamf碰到的问题及其解决方法^_^(原创)
- linux下oracle的安装与卸载及相关问题解决方案
- linux远程桌面乱码解决及引起的相关问题、字库安装
- fedora 15 安装opencv2.2时出现undefined reference to `cvCreateCameraCapture_V4L(int)'问题及其解决方法