首页/云/Docker 容器速查/RUN --mount=type=ssh 转发 SSH 代理
镜像与构建107 条

RUN --mount=type=ssh 转发 SSH 代理

构建阶段通过 SSH 代理访问私有 Git 仓库,密钥不落盘进镜像;构建命令加 --ssh default 启用。

Docker 容器速查云更新于 2026-10-12
用途构建期使用 SSH 私钥拉代码
语法RUN --mount=type=ssh git clone git@example.com:team/repo.git
构建侧docker build --ssh default .

示例

示例
RUN --mount=type=ssh \
    git clone --depth 1 git@example.com:team/repo.git /src/repo \
    && rm -rf /src/repo/.git
需要宿主 ssh-agent 已加载对应私钥(ssh-add -l 检查);容器内 known_hosts 可提前 ssh-keyscan 写入。

易错点

  • 构建完把 .git 等元数据清掉,避免把仓库地址与历史带进镜像
  • ssh-keyscan 有被中间人替换的风险,生产建议预先核对主机指纹并固化 known_hosts

数据来源与参考

  • Docker 官方文档:Build with SSH(docs.docker.com/build/building/secrets)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌