gpt4 book ai didi

git - 如何在 docker 中使用挂载的 ssh 来执行 Dockerfile 中的后续命令

转载 作者:行者123 更新时间:2023-12-02 19:48:31 25 4
gpt4 key购买 nike

在使用 CMD 运行我的容器时,我必须执行 git push。
但是 ssh 在最后一行(即 CMD 部分)中不可用,无法执行 git push。
我可以在这里做什么来获取 git push 的 ssh key ?有人请帮助我。

请找到我的 Dockerfile

# syntax = docker/dockerfile:1.0-experimental
FROM continuumio/anaconda3

# Install git
RUN apt-get update && apt-get install -y git

# Download public key for github.com
RUN mkdir -p -m 0600 ~/.ssh && ssh-keyscan github.com >> ~/.ssh/known_hosts

# Clone private repository
RUN --mount=type=ssh git clone git@github.com:myorg/myproject.git myproject

CMD python myproject/src/example.py && git push

然后我使用以下命令在运行期间传递我的 ssh key
docker build --ssh default .

最佳答案

如“BuildKit / Using SSH to access private data in builds ”和“Build secrets and SSH forwarding in Docker 18.09 ”中所示,我看到它用于:

  • --mount=type=ssh
  • 仅在 RUN 上行,而不是 CMD

  • 所以这将适用于 RUN , 在 docker build 期间.
    这可能在运行时( docker run )与 CMD 不起作用

    关于git - 如何在 docker 中使用挂载的 ssh 来执行 Dockerfile 中的后续命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62193650/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com