如何在dockerfile中隐藏用户并传入curl命令
我有一个dockerfile,在最后一个步骤中,我从artifactory下载了一个WAR文件,这样我就可以在webapps/目录中的容器中使用它 问题是我不想显示curl-u命令的用户和过程。如何在以下命令中同时隐藏用户和密码?docker中是否有隐藏/加密密码的方法如何在dockerfile中隐藏用户并传入curl命令,docker,curl,dockerfile,password-protection,Docker,Curl,Dockerfile,Password Protection,我有一个dockerfile,在最后一个步骤中,我从artifactory下载了一个WAR文件,这样我就可以在webapps/目录中的容器中使用它 问题是我不想显示curl-u命令的用户和过程。如何在以下命令中同时隐藏用户和密码?docker中是否有隐藏/加密密码的方法 RUN curl -u user:pass -O "https://artifactory.xxxx.com:443/artifactory/api/api-0.0.1-SNAPSHOT.war" 无法从docker hist
RUN curl -u user:pass -O "https://artifactory.xxxx.com:443/artifactory/api/api-0.0.1-SNAPSHOT.war"
无法从
docker history
中隐藏运行命令的内容
您应该在Dockerfile之外下载工件。执行
curl
命令,然后运行docker build
的脚本可能会简化您的工作。除了不通过docker history
公开凭据之外,这还避免了将它们提交到源代码管理,使得即使无法访问您的工件,也可以构建映像,并简化了面向开发人员的序列,在该序列中,他们需要用自己构建的内容构建临时映像。您可以使用多阶段构建来实现轻量级映像,但您必须使用一个docker构建,而不是两个。就像这个Dockerfile:
FROM maven as build
(... Your app build....)
FROM tomcat
COPY --from=build artifact.war /dest/dir
来自的第二个
之前的所有内容都将从生成的图像中丢弃,因此它将包含Tomcat,而不是Maven,以及您复制的工件。这就是我想要做的,到目前为止还可以:Jenkins管道。第1阶段代码签出,第2阶段构建工件。第3阶段上载到工件。4 docker构建映像并将其推送到azure regitry。在步骤4中,使用curl命令构建docker映像以下载它并将其保留在deploy文件夹中。我想这样做的方式是使用一个只有tomcat和java的瘦图像(我使用的是正式的tomcat dockerfile)。光亮的图像。这里没有maven。这就是为什么我在jenkins管道已经有maven的第2步中在jenkins上用maven构建工件。你还有什么别的建议吗?