【发布时间】:2021-02-24 02:14:42
【问题描述】:
我在使用 Jenkins 提供的标准 docker 镜像时遇到了一个奇怪的问题——尽管只有当 Jenkins 在 Amazon Linux 2 上运行时。 Ubuntu 18.04 上的 Jenkins 运行良好。
问题是 Jenkins 无法启动这些从属容器。
连接方法 - “附加 Docker 容器”,因为 docker 引擎在 Jenkins 服务器上本地运行。
有趣的是,如果我在新的 DockerFile 中设置 USER root(在 Ubuntu 上不需要),我已经能够让这些容器成功运行以在 Amazon Linux 上构建。但是,我需要这些以非 root 用户(如 jenkins 用户)身份运行,以便为 postgres 运行单元测试。
关于如何在 Amazon Linux 2 上实现这一目标有什么想法吗?我是否会缺少操作系统上的 docker 设置或安全设置?
我测试过的 Docker 镜像:
- https://hub.docker.com/r/jenkins/agent/
- https://hub.docker.com/r/jenkins/jnlp-slave
- https://hub.docker.com/r/jenkins/inbound-agent
这些错误不是很有帮助:
连接到docker容器4486c8f2696f40c7de32160d78d6e2438abb1ff92517c71cf66b93baf3d0877f,运行命令java -jar /home/jenkins/remoting-4.6.jar -noReconnect -noKeepAlive -slaveLog /home/jenkins/agent.log HTTP/1.1 101 升级 内容类型:application/vnd.docker.raw-stream 连接:升级 升级:tcp API 版本:1.40 Docker-实验:假 操作系统类型:linux 服务器:Docker/19.03.13-ce (Linux)
错误:启动代理时出现意外错误。这可能是 Jenkins 中的一个错误
复制的基本设置:
Docker 模板:
【问题讨论】:
标签: linux docker jenkins amazon-linux