【问题标题】:invalid empty ssh agent socket, make sure SSH_AUTH_SOCK is set How to set SSH_AUTH_SOCK for docker build?无效的空 ssh 代理套接字,确保设置了 SSH_AUTH_SOCK 如何为 docker build 设置 SSH_AUTH_SOCK?
【发布时间】:2022-01-27 03:30:44
【问题描述】:

我正在尝试在 Windowsb10 的 PyCharm 中部署一个 docker-compose 应用程序。运行命令:

set "DOCKER_BUILDKIT=1" && docker build --ssh default=${SSH_AUTH_SOCK} -f docker/Dockerfile -t basketball_backend_api_core .

结果:

could not parse ssh: [default=]: invalid empty ssh agent socket, make sure SSH_AUTH_SOCK is set

我应该在哪里设置 SSH_AUTH_SOCK?

UPD:我的 OpenSSH 身份验证代理的状态正在运行

【问题讨论】:

    标签: docker ssh gitlab dockerfile ssh-keys


    【解决方案1】:

    似乎--ssh 参数不接受空值作为参数。

    eval $(ssh-agent)
    set "DOCKER_BUILDKIT=1" && docker build --ssh default=${SSH_AUTH_SOCK} -f docker/Dockerfile -t basketball_backend_api_core .
    

    或者你may need to run ssh-add to add private key identities to the authentication agent first for this to work

    before_script:
      ##
      ## Install ssh-agent if not already installed, it is required by Docker.
      ## (change apt-get to yum if you use an RPM-based image)
      ##
      - 'command -v ssh-agent >/dev/null || ( apt-get update -y && apt-get install openssh-client -y )'
    
      ##
      ## Run ssh-agent (inside the build environment)
      ##
      - eval $(ssh-agent -s)
    
      ##
      ## Add the SSH key stored in SSH_PRIVATE_KEY variable to the agent store
      ## We're using tr to fix line endings which makes ed25519 keys work
      ## without extra base64 encoding.
      ## https://gitlab.com/gitlab-examples/ssh-private-key/issues/1#note_48526556
      ##
      - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
    

    来自Gitlab's docs

    【讨论】:

    • 第一种方法仅在您使用绑定挂载将套接字传递给子进程时才有效。由于您的答案没有说明如何执行此操作,因此只有第二种方法有成功的机会。
    • 谢谢!如果我在 bash 中运行 eval $(ssh-agent) 命令,我得到的结果是 -bash: ssh-agent: command not found 并且在 docker 之后也没有找到,但是如果我通过终端运行它会导致 eval :术语'eval' 不被识别为 cmdlet 的名称等。我应该在哪里运行命令?
    • 你试过安装openssh-client吗?
    猜你喜欢
    • 2014-04-04
    • 2022-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-02
    • 2013-12-22
    • 2015-05-31
    • 2022-10-17
    相关资源
    最近更新 更多