jenkins - 如何在 Dockerfile 中为 LDAPS 的 Jenkins 添加 SSL 自签名证书?

标签 jenkins docker dockerfile

我想在 Jenkins 中启用 LDAPS,但我的 LDAP 服务器有一个自签名 CERT。有没有人这样做或有一些关于这样做的指示?我必须使用 keytool 吗?

在我的 Dockerfile 中,我正在尝试以下操作,但这不起作用:

FROM jenkins

USER root

# Install CA certs
COPY ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
RUN chmod +r /etc/ssl/certs/ca-certificates.crt

# Install the Jenkins plugin  
COPY plugins.txt /usr/share/jenkins/plugins.txt
RUN /usr/local/bin/plugins.sh /usr/share/jenkins/plugins.txt

# Expose container port 33838 for Jenkins UDP-based auto-discovery
EXPOSE 33848/udp

ENV JAVA_OPTS -Xmx2048m

最佳答案

原来我只需要在 Dockerfile 中添加它,其中 ldap.cer 是我的自签名证书的证书链。

COPY ldap.cer $JAVA_HOME/jre/lib/security
RUN \
    cd $JAVA_HOME/jre/lib/security \
    && keytool -keystore cacerts -storepass changeit -noprompt -trustcacerts -importcert -alias ldapcert -file ldap.cer

关于jenkins - 如何在 Dockerfile 中为 LDAPS 的 Jenkins 添加 SSL 自签名证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35304680/

相关文章:

jenkins - 如何使用脚本禁用 Jenkins CSRF?

docker - 在 docker-compose down 之前备份 Mysql DB

docker - Docker:运行html文件的基本示例dockerfile

node.js - Docker 与 Node bcrypt — 无效的 ELF header

mongodb - 来自Dockerfile RUN步骤的数据不在镜像中

node.js - 使用 Jenkins 自动化 CoffeeScript 编译

Jenkins - java.lang.IllegalArgumentException : Last unit does not have enough valid bits & Gradle error: Task 'null' not found in root project

asp.net - Docker 从一个容器复制到另一个容器

.net - Docker 构建镜像失败 - 没有这样的文件或目录

node.js - JSON 不得超过 1000000 字节