尝试从 docker 容器中使用 SSH 密钥 [重复]
Posted
技术标签:
【中文标题】尝试从 docker 容器中使用 SSH 密钥 [重复]【英文标题】:Trying to use SSH keys from within a docker container [duplicate] 【发布时间】:2021-08-20 10:26:34 【问题描述】:有没有办法在 docker build 期间生成 SSH 密钥,并访问在容器中运行的应用程序内的密钥文件路径?我的应用程序需要 keyfile_path 才能运行。如果无法在构建期间动态生成密钥并在应用程序中使用它,那么从本地主机注入 SSH 密钥以在远程应用程序中使用它的替代方法是什么?
【问题讨论】:
请记住,Docker 映像中的任何内容都很容易取出;如果你在 Dockerfile 中RUN ssh-keygen
,那将包括你的私钥。这两种路径都是可能的,但最好在主机上创建 ssh 密钥对并使用绑定挂载注入它。
【参考方案1】:
您应该能够在您的 dockerfile 中使用在 shell 中运行的 RUN
命令来生成您的 SSH 密钥,然后还可以设置密钥的权限。
以下 Docker 文档中有关 RUN 命令的更多信息, https://docs.docker.com/engine/reference/builder/#run
【讨论】:
是的,我会看看,但是说我需要在应用程序中使用本地计算机中存在的密钥,并且我希望能够在远程环境中部署应用程序,有吗一种使用现在仅由本地主机提供的密钥的方法? 我想你会在本地机器上用密钥创建一个网络共享,然后你会创建一个 Docker 卷来访问密钥。以上是关于尝试从 docker 容器中使用 SSH 密钥 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
用于 Jenkins 管道的 Docker 插件 - uid 1005 不存在用户
使用 Docker Compose 将主机的 SSH 密钥注入 Docker Machine