【问题标题】:How can I find initial password for jenkins?如何找到詹金斯的初始密码?
【发布时间】:2018-06-24 06:01:48
【问题描述】:

我已经搜索过类似这里的相关问题;

How do I get initial admin password for jenkins on Mac?

这里;

How to recover Jenkins password

但是,我找不到解决问题的方法。

我正在按照此链接上的说明安装 jenkins;

https://jenkins.io/doc/book/installing/

我已经运行了以下命令来安装并尝试让它在我的本地机器(mac os)上运行;

docker run \
  -u root \
  --rm \
  -d \
  -p 8080:8080 \
  -p 50000:50000 \
  -v jenkins-data:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  jenkinsci/blueocean

它会正确安装它,但是当我进入登录屏幕时,它会要求输入初始管理员密码。因为安装在(-d 模式)后端运行,安装完成后我看不到初始密码。当我为安装删除 -d 时,安装不起作用。

我还检查了共享文件夹 (User/Shared/Jenkins/Home) 目录,里面没有 secrets 文件夹。所以我手动创建了一个并再次按照此链接上的说明(在答案中)进行操作;

How do I get initial admin password for jenkins on Mac?

之后,我删除了相关的docker进程并从头开始重新启动所有安装过程,但我得到了相同的结果。

在这种情况下,我怎样才能找到这个初始管理员密码,或者我怎样才能再次生成它?

顺便说一句:我也在检查日志(在/var/log/jenkins 中),但在我第一次尝试安装后它似乎停止在那里写入,我也在那里找不到初始密码。

【问题讨论】:

    标签: macos jenkins


    【解决方案1】:

    docker exec <container_name> cat /var/jenkins_home/secrets/initialAdminPassword

    【讨论】:

    • 这对我有用,但查看日志没有。
    • 这实际上应该是被接受的响应。我的意思是:重建整个容器没有用,或者引用密码的日志部分很可能已经丢失/通过。
    • 找不到那个文件怎么办?
    • 像魅力一样工作
    【解决方案2】:

    我尝试查看容器的文件系统,但其中没有 secrets 文件夹。但我在jenkins文档here中找到了解决方案

    Docker 将初始密钥输出到控制台

    查看控制台使用命令

    docker logs <container id of jenkins>
    

    输出是这样的:

    【讨论】:

      【解决方案3】:

      如果您为 Jenkins 使用 Mac 和 Docker 安装,请按照以下步骤获取初始管理员密码以在 Jenkins 控制台中开始身份验证。在终端中键入以下命令。

      (注意:如果您按照 Jenkins 文档中的默认步骤在 Docker 环境中安装 Jenkins,则此方法有效)

      查找正在运行的容器

      : docker ps
      

      复制正在运行的containerID

      : docker exec -it <containerID> bash
      
      : cd /var/jenkins_home/secrets
      
      : cat initialAdminPassword
      

      使用终端中显示的秘密密码并用作 Jenkins 控制台的初始密码。

      【讨论】:

        【解决方案4】:

        docker exec $(docker ps -q) cat /var/jenkins_home/secrets/initialAdminPassword

        【讨论】:

          【解决方案5】:

          如果你已经通过 docker 安装了 Jenkins,那么下面的命令可以给你初始管理员密码。假设您的容器名称/docker 映像名称是 jenkins

          docker exec `docker ps | grep jenkins | awk '{ print $1}' ` cat /var/jenkins_home/secrets/initialAdminPassword
          

          【讨论】:

          • 对我来说效果很好。我不得不用sudo docker 替换docker 的实例。
          • 如果想避免一直输入 sudo,请使用 sudo usermod -aG docker $USER
          【解决方案6】:

          你能在你的 Mac 上安装 docker-compose 和 docker toolbox 吗? https://docs.docker.com/compose/install/ 尝试执行这个 docker-compose.yml 文件:

          version: '3.1'
          services:
          
            blue-ocean:
              image: jenkinsci/blueocean:latest
              container_name: blue-ocean
              restart: always
              environment:
                TZ: America/Mexico_City
              ports:
                - 8080:8080
                - 50000:50000
              tty: true
              volumes:
                - ./jenkins-data:/var/jenkins_home
                - ./sock:/var/run/docker.sock
          

          只需要在里面创建一个包含 docker-compose.yml 文件的文件夹并在终端中执行docker-compose up -d 命令,就会创建 jenkins-data 和 sock 文件夹,并且 jenkins-data 里面会出现目录。 /jenkins-data/secrets/initialAdminPassword,打开这个文件并复制内容并粘贴到需要它的web视图的输入。

          【讨论】:

          • 嗨,我在 'jenkins-data' 文件夹中没有 'secrets' 文件夹。所以,我找不到 initialAdminPassword 文件。为什么会这样?
          • 过了一会儿,“secrets”文件夹就创建好了。现在,我找到了,可以通过密码页面了:)非常感谢!
          • 我相信这个答案不好。为什么?尽管它有效,但它并没有为问题提供可操作的解决方案,因此不应将其视为可接受的答案。另外@user2147431 应该知道文件夹“.../secrets/...”不在主机操作系统上(macOS、Linux 等...在每个 Docker 部署上都相同),而是在来宾/容器的一旦它被引导。
          【解决方案7】:

          我的用户名是:admin 您可以通过以下方式找到密码:

          docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
          

          我的容器名称是 jenkins

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-09-29
            • 2012-09-30
            • 2014-07-24
            • 2018-02-05
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多