首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

docker build --build-arg SSH_PRIVATE_KEY="$(cat ~/.ssh/id_rsa)“返回空

docker build --build-arg SSH_PRIVATE_KEY="$(cat ~/.ssh/id_rsa)"返回空的原因是因为在构建Docker镜像时,使用了--build-arg参数来传递一个名为SSH_PRIVATE_KEY的构建参数,并将其值设置为$(cat ~/.ssh/id_rsa)。这个命令是用来读取~/.ssh/id_rsa文件的内容。

然而,返回空的原因可能是由于以下几种情况之一:

  1. ~/.ssh/id_rsa文件不存在或无法访问:请确保该文件存在,并且具有正确的权限。您可以使用ls -l ~/.ssh/id_rsa命令来检查文件的权限和所有者。
  2. ~/.ssh/id_rsa文件内容为空:请确保~/.ssh/id_rsa文件中包含有效的SSH私钥。您可以使用cat ~/.ssh/id_rsa命令来查看文件的内容。
  3. Docker构建上下文中没有~/.ssh/id_rsa文件:请注意,Docker构建上下文是指在执行docker build命令时所在的目录及其子目录。如果~/.ssh/id_rsa文件不在构建上下文中,Docker将无法访问该文件。您可以将~/.ssh/id_rsa文件移动到构建上下文中的某个位置,或者使用COPY指令将其复制到Docker镜像中。

需要注意的是,为了安全起见,建议不要直接将私钥文件包含在Docker镜像中,而是使用Docker的构建参数来传递私钥的值。这样可以避免私钥泄露的风险。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

GitLabCICD自动集成和部署到远程服务器

部署方式 我将在这里提到使用SSH通过YAML脚本访问远程服务器 添加SSH密钥 当您的CI/CD作业在Docker容器中运行(意味着环境已包含在内)并且您想要在私有服务器中部署代码时,您需要一种访问它的方法...~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 使用以下命令显示的内容id_rsa并复制它: cd .ssh && cat id_rsa 转到GitLab UI边栏...>设置> CI/CD>变量>展开 添加一个名为SSH_PRIVATE_KEY的变量,然后在“值”字段中,粘贴刚从服务器复制的私钥(如果是AWE EC2,它将是/.pem文件的内容) ?...转到GitLab UI边栏>设置>存储库>部署密钥>扩展 创建标题,然后在“ **密钥”**字段中粘贴现有内容id_rsa.pub cd .ssh && cat id_rsa.pub ?...variable SSH_PRIVATE_KEY to the SSH client's agent that manages the private keys - echo "$SSH_PRIVATE_KEY

6.2K30
  • 用 Github 实现组件自动发布

    确实如此,我们只需要对组件进行小小的改造,打开组件的 build.gradle,进行如下的配置: plugins { ......and push it as the contents of a git branch to a repository and branch of your choosing, either over SSH...workflow 就可以写成: 很 nice,写起来简直没压力,但这个地方需要配置一下私钥,如何生成 git ssh 可以查看该文章 https://www.jianshu.com/p/0a41903252a3...,根据该文章将自己的公钥配置到 Github,然后查看下私钥 id_rsa 的内容: 需要注意的是,---BESIN RSA 这些也是要复制的,然后我们打开组件仓库对 SSH_PRIVATE_KEY...大家可以直接抄我的 workflow 部分,然后只需要更改下 repo 地址是你们自己的仓库地址,然后配置下 SSH_PRIVATE_KEY 私钥即可,还有记住,不要忘了在组件仓库配 .clear-target-files

    87250
    领券