将ssh私钥环境变量写入/root/.ssh/id_rsa的Dockerfile



我在aws参数存储中存储了环境变量。当aws代码构建运行时,我希望能够将环境变量复制或写入/root/.ssh/id_rssa,以便能够克隆repo。当构建映像时,会抛出以下错误:Load key"root/.ssh/id_rsa":无效格式。

FROM php:8.0-fpm
ARG SSHPRIVATE_KEY=$GIT_SSHPRIVATE_KEY
ARG SSHPUBLIC_KEY=$GIT_SSHPUBLIC_KEY
RUN mkdir /root/.ssh/
RUN echo "${SSHPRIVATE_KEY}" > /root/.ssh/id_rsa
RUN echo "${SSHPUBLIC_KEY}" > /root/.ssh/id_rsa.pub

我最终从buildspec文件中进行了设置。我访问源工件,然后将参数存储值写入id_rsa文件。

- cd $CODEBUILD_SRC_DIR_MySourceArtifacts
- echo "$BITBUCKET_SSH_KEY" >> id_rsa

然后在Dockerfile上,我将id_rsa复制到相应的docker容器文件夹中。

COPY $CODEBUILD_SRC_DIR_MySourceArtifacts/id_rsa /root/.ssh

最新更新