小编Abb*_*han的帖子

将 SSH 代理与 Docker Compose 和 Dockerfile 结合使用

我在我的一个 NestJS 应用程序中使用私有 github 存储库时遇到问题。当我使用命令创建 docker 映像时docker build,映像已成功创建,并且一切正常。但是我无法将 Dockerfile 与docker-compose.

Dockerfile这是我使用挂载功能的部分BuildKit

RUN mkdir -p -m 0600 ~/.ssh && ssh-keyscan github.com >> ~/.ssh/known_hosts

RUN --mount=type=ssh npm install

Run Code Online (Sandbox Code Playgroud)

当单独构建图像时,Dockerfile我传递了--ssh default参数,如下所示,它成功安装了私有存储库:

docker build --ssh default -t CONTAINER_NAME .
Run Code Online (Sandbox Code Playgroud)

这篇文章之后,docker-compose.yml我在文件中包含了$SSH_AUTH_SOCK如下内容:

environment:
      - NODE_ENV:${NODE_ENV}
      - SSH_AUTH_SOCK:${SSH_AUTH_SOCK}
volumes:
      - $SSH_AUTH_SOCK:${SSH_AUTH_SOCK}
Run Code Online (Sandbox Code Playgroud)

但是,每当我尝试运行时都会出现此错误docker-compose up

#11 44.97 npm ERR! code 128
#11 44.97 npm ERR! An unknown git error occurred
#11 …
Run Code Online (Sandbox Code Playgroud)

ssh node.js docker dockerfile docker-compose

23
推荐指数
2
解决办法
2万
查看次数

标签 统计

docker ×1

docker-compose ×1

dockerfile ×1

node.js ×1

ssh ×1