相关疑难解决方法(0)

在预构建的docker容器中更改用户的uid(jenkins)

我是码头工的新手,所以如果这是一个我很想念的相当明显的过程,我会为前面的愚蠢问题道歉.

我正在使用jenkinsdocker镜像设置一个持续集成服务器.我做了一个docker pull jenkins,并创建了一个用户jenkins,允许我/var/jenkins_home将容器中的容器挂载到我的主机/var/jenkins_home(也由jenkins:jenkins用户拥有).

问题是容器似乎jenkins用uid 102 来定义用户,但是我的主机将jenkins用户设置为1002,所以当我运行它时,我得到:

docker run --name jenkins -u jenkins -p 8080 -v /var/jenkins_home:/var/jenkins_home jenkins
/usr/local/bin/jenkins.sh: line 25: /var/jenkins_home/copy_reference_file.log: Permission denied
Run Code Online (Sandbox Code Playgroud)

我只是让主机jenkins用户的uid为102 /etc/passwd,但是这个uid已经被sshd占用了.我认为解决方案是改变容器使用uid 1002,但我不知道如何.

编辑

实际上,主机上的用户102是messagebus,而不是sshd.

jenkins docker jenkins-docker

10
推荐指数
2
解决办法
7480
查看次数

在jenkins docker容器中执行docker host命令

我有一个运行jenkins的码头集装箱.我想在这个容器里面启动其他容器,所以在这个容器之外.

我试图用以下方式启动我的jenkins控制器:

docker run -v /var/run/docker.sock:/var/run/docker.sock  -v $(which docker):/bin/docker
Run Code Online (Sandbox Code Playgroud)

(如下所示:https://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/)

但是当我在我的容器内部尝试运行Docker命令时,我会得到典型的消息

 FATA[0000] Get http://%2Fvar%2Frun%2Fdocker.sock/v1.18/containers/json: dial unix /var/run/docker.sock: 
connect: permission denied. Are you trying to connect to a TLS-enabled daemon without TLS? 
Run Code Online (Sandbox Code Playgroud)

并没有办法在这个容器内运行docker命令..

我试过有没有--privileged = true,它仍然无法正常工作.

如果您有任何想法!

jenkins docker

5
推荐指数
1
解决办法
1588
查看次数

标签 统计

docker ×2

jenkins ×2

jenkins-docker ×1