当前位置: 首页 > 面试题库 >

在Docker容器中启动Jenkins

桓嘉谊
2023-03-14
问题内容

我想在Centos7的Docker容器中运行Jenkins。我看到了Jenkins的官方文档:首先,从Docker存储库中提取官方的jenkins映像。

docker pull jenkins

接下来,使用该映像运行一个容器,并将数据目录从该容器映射到主机;例如,在下面的示例中,容器中的/ var /
jenkins_home从主机上的当前路径映射到jenkins /目录。Jenkins 8080端口也以49001的身份向主机公开。

docker run -d -p 49001:8080 -v $PWD/jenkins:/var/jenkins_home -t jenkins

但是,当我尝试运行docker容器时,出现以下错误:

/usr/local/bin/jenkins.sh: line 25: /var/jenkins_home/copy_reference_file.log: Permission denied

有人可以告诉我如何解决此问题吗?


问题答案:

詹金斯(Jenkins)官方Docker映像文档对卷进行了说明:

docker run -p 8080:8080 -p 50000:50000 -v /your/home:/var/jenkins_home

jenkins

这会将詹金斯数据存储在主机上的/ your / home中。确保容器中的jenkins用户(jenkins用户-uid 1000)可以访问/ your
/ home,或者在docker run中使用-u some_other_user参数。

此信息也可以在Dockerfile中找到。因此,您要做的就是确保该目录$PWD/jenkins
UID拥有 1000

mkdir jenkins
chown 1000 jenkins
docker run -d -p 49001:8080 -v $PWD/jenkins:/var/jenkins_home -t jenkins


 类似资料:
  • 问题内容: 我使用以下命令创建了容器: 以下是命令: 真的没有太多要说的,我希望容器能启动并保持正常运行。这是日志: 问题答案: 您正在尝试运行,它是需要tty 才能运行的交互式外壳。使用,在“分离”模式下运行此命令实际上没有任何意义,但是您可以通过添加到命令行来做到这一点,以确保容器具有与其关联的有效tty并保持连接状态: 在启动分离的容器时,您通常会运行某种长期存在的非交互式进程(例如,或We

  • 问题内容: 要为Ubuntu映像启动交互式shell,我们可以运行: 但是,对于Alpine Docker映像运行此命令时,将得到以下结果: 在Alpine基本容器中启动交互式Shell的命令是什么? 问题答案: 上面使用的选项: 是BusyBox提供的Ash(Almquist Shell)。 退出时自动移除容器() 交互模式(即使未连接也保持STDIN打开) 分配伪TTY

  • 根据这个github问题,应该可以用Upstart、cron等和Docker0.6或更高版本启动一个完整的容器,但我该如何做呢? 我在期待 就像 我会得到一个登录屏幕,但它没有显示任何内容。我也尝试使用ssh访问它,但没有成功。我正在使用Docker索引中的默认ubuntu图像。

  • 问题内容: 要启动容器,我输入以下命令: 但我想在此容器中打开外壳以键入mongo命令。我应该运行什么命令来执行相同的操作? 问题答案: 您可以通过运行以下命令来运行交互式mongo shell: 否则,如果您的容器已经在运行,则可以使用以下命令:

  • 我有一个Docker容器,其中包含我的Postgres数据库。它使用官方的Postgres映像,其中有一个CMD条目,可以在主线程上启动服务器。 我想通过运行