我的想法是将 Jenkins 和 Docker 安装在同一个 Dockerfile 中,因为我必须完成 CI/CD 工作流程。所以,现在,我的 Dockerfile 是......(非常简单的 Dockerfile,但只是暂时的)
FROM jenkins/jenkins:lts
构建并运行容器后,我遇到了一个问题。我想通过执行以下命令来访问容器:
winpty docker attach CONTAINER_ID
但是执行此命令后,控制台挂起并且被阻止。
有人知道为什么会发生这种情况吗?以及可能的解决办法?
编辑:
经过进一步研究,我发现docker文件对于 jenkins/jenkins:lts,它有ENTRYPOINT ["/sbin/tini", "--", "/usr/local/bin/jenkins.sh"]
命令,因此,当我尝试访问时(如我所提到的),我只会看到此输出,然后容器不会重定向到 bash。对吗?我该如何转到 bash?
答案1
通过使用以下方法修复:
docker exec -it CONTAINER_ID bash
如果你使用带有 winpty 终端的 Windows:
winpty docker exec -it CONTAINER_ID bash