Moh*_*amy 12 git ssh docker dockerfile docker-buildkit
我必须在使用 CMD 运行容器时执行 git Push。但是 ssh 在最后一行(即 CMD 部分)中不可用,无法进行 git 推送。我可以在这里做什么来获取 git Push 的 ssh 密钥?请有人帮助我。
请找到我的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
Run Code Online (Sandbox Code Playgroud)
然后我使用以下命令在运行期间传递我的 ssh 密钥
docker build --ssh default .
Run Code Online (Sandbox Code Playgroud)
Von*_*onC 11
如“ BuildKit / 使用 SSH 访问构建中的私有数据”和“在 Docker 18.09 中构建机密和 SSH 转发”中所示,我看到它与以下内容一起使用:
--mount=type=sshRUN在线上,不在线CMD这样就可以在RUN, 期间使用docker build。
这可能无法在运行时 ( docker run) 与CMD
仅供参考,此工作有3 个先决条件,因此请确保构建使用 buildx,在其中Dockerfile使用RUN命令--mount=type=ssh并将--ssh default参数传递给构建命令:
export DOCKER_BUILDKIT=1
Run Code Online (Sandbox Code Playgroud)
FROM ...
RUN --mount=type=ssh 作曲家安装 --no-dev --no-interaction
docker build --ssh default .
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23831 次 |
| 最近记录: |