一看必会系列:dockerfile 练习4 jenkins docker创建

来源:本站原创 Docker 超过119 views围观 0条评论

mkdir -p /opt/dockerfile/centos_jenkins

docker pull  jenkins:2.60.3

docker run -p 8080:8080 -p 50000:50000 -v /opt/dockerfile/centos_jenkins:/var/jenkins_home jenkins:2.60.3

# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS            
f15b3dea0bc7        jenkins:2.60.3      "/bin/tini — /usr/l…"   About a minute ago   Up About a minute
PORTS                                               NAMES
0.0.0.0:32798->8080/tcp, 0.0.0.0:32797->50000/tcp   suspicious_tharp

进入容器读取信息
root@docker:/opt/dockerfile/centos_jenkins# docker exec -it f15b3dea0bc7 /bin/bash
jenkins@f15b3dea0bc7:/$

访问 http://192.168.10.67:32798/login?from=%2F

读取管理密码
jenkins@f15b3dea0bc7:/$ cat /var/jenkins_home/secrets/initialAdminPassword
a642a5e7ca8b422196f71adb349aa48d

jenkins docker 容器里如何升级、
1。
下载最新包 https://mirrors.tuna.tsinghua.edu.cn/jenkins/war-stable/2.164.1/jenkins.war
2.停止容器
docker stop id
3.换更新包
复制jenkins.war  到容器的jenkins目录
docker cp jenkins.war f15b3dea0bc7:/usr/share/jenkins/jenkins.war
4.启动容器
docker start f15b3dea0bc7
f15b3dea0bc7
root@docker:/opt/dockerfile# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS            
f15b3dea0bc7        jenkins:2.60.3      "/bin/tini — /usr/l…"   31 minutes ago      Up 15 seconds  
PORTS                                               NAMES   
0.0.0.0:32800->8080/tcp, 0.0.0.0:32799->50000/tcp   suspicious_tharp
5.完成

 

报错

root@docker:/opt/dockerfile# docker run -P -v /opt/dockerfile/centos_jenkins:/var/jenkins_home jenkins:2.60.3
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?
root@docker:/opt/dockerfile# ll /opt/dockerfile/centos_jenkins
total 8
drwxr-xr-x 2 jenkins jenkins 4096 3月  15 18:02 ./
drwxr-xr-x 6 root    root    4096 3月  15 18:02 ../
root@docker:/opt/dockerfile#

解决
useradd jenkins 
chown jenkins:jenkins -R centos_jenkins

依然报同样的错。说明权限还是不够
改成
sudo chown -R 1000:1000 /opt/jenkins
修复成功

原因在这里
Dockerfile 里有一段这个  UID GID 为1000.容器USER 和主机USER不能对等所以用 id就可以解决
ARG user=jenkins
ARG group=jenkins
ARG uid=1000
ARG gid=1000

https://hub.docker.com/_/jenkins?tab=description

文章出自:CCIE那点事 http://www.jdccie.com/ 版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。 禁止全文转载。
本文链接:http://www.jdccie.com/?p=4086转载请注明转自CCIE那点事
如果喜欢:点此订阅本站
  • 相关文章
  • 为您推荐
  • 各种观点

暂时还木有人评论,坐等沙发!
发表评论

您必须 [ 登录 ] 才能发表留言!