kor*_*oll 12 ssh expect ssh-keygen docker
我从下面的 Dockerfile 构建容器:
FROM ubuntu:14.04
...
RUN apt-get update && apt-get install -y vim
#RUN ssh-keygen -f /root/.ssh/id_rsa -N strongpass123$%^
RUN ssh-keygen -f /root/.ssh/id_rsa
...
Run Code Online (Sandbox Code Playgroud)
我很少这样做,但是在使用之前ssh-keygen
和之后有很多命令。
我知道我可以从脚本开始docker exec -it thirsty_darwin sh script.sh
,然后标记图像,然后使用容器(图像)链接,但这并不是我想要的清晰解决方案。
甚至最坏的情况是ssh-add ~/.ssh/id_rsa
当我必须使用 expect 工具时。Expect 工具对我的密码进行了硬编码。我不想做这件事。
Mat*_*ath 17
通常,您不应在 Docker 映像中包含任何机密。有关此主题的更多信息,请参阅此答案。
如本期所述, Docker 不支持交互式构建是有充分理由的。
如果你真的需要这样做,你可以docker commit
像这样使用:
docker build -t thirsty_darwin_base /path/to/Dockerfile
docker run -it --name=thirsty_darwin_changes thirsty_darwin_base /bin/bash
# do interactive stuff in the shell, then exit
docker commit thirsty_darwin_changes thirsty_darwin
Run Code Online (Sandbox Code Playgroud)
现在thirsty_darwin
有您的交互式更改。
更新:自从撰写此答案以来,Docker 发布了更全面的机密管理。
归档时间: |
|
查看次数: |
9140 次 |
最近记录: |