Jenkins-无法创建用户数据目录:/ var / lib / jenkins / snap / docker /:只读文件系统

时间:2019-02-18 12:20:21

标签: azure docker jenkins kubernetes continuous-integration

我正在遵循以下doc从詹金斯部署到Kubernetes。我已经在自己的VM中安装了jenkins。但是运行构建时出现以下错误

+ docker build -t myregistry.azurecr.io/my-svc:latest7 ./my-svc
cannot create user data directory: /var/lib/jenkins/snap/docker/321: Read-only file system
Build step 'Execute shell' marked build as failure
Finished: FAILURE

但是所有目录都有jenkins作为所有者,但我不确定为什么它会引起权限问题。

poc@poc-ubuntu:~$ ls -ltr     /var/lib/
drwxr-xr-x 18 jenkins       jenkins       4096 Feb 18 16:45 jenkins

2 个答案:

答案 0 :(得分:0)

我相信您必须扩展Jenkins形象。 / var / lib / jenkins是安装点。您无法在构建时从dockerfile创建目录。如果您需要在该目录中创建文件夹,请尝试在容器运行时使用初始化脚本进行创建

答案 1 :(得分:-1)

遇到相同的 exact 问题。这是对我有用的解决方法(来自用户Gargoyle(g-rgoyle)here):

  1. 阻止詹金斯:service jenkins stop
  2. 手动更改詹金斯的主目录:mv /var/lib/jenkins /home/jenkins
  3. 在以下位置更改jenkins用户的homedir(在#2之后可能没有必要):usermod -m -d /home/jenkins jenkins
  4. 在Jenkins配置中设置homedir:nano /etc/default/jenkins,然后转到变量“ JENKINS_HOME”,并将值设置为“ /home/$NAME
  5. 开始詹金斯:service jenkins start