【发布时间】:2022-08-15 04:29:14
【问题描述】:
我在我的一个 NestJS 应用程序中使用私有 github 存储库时遇到问题。当我使用docker build 命令创建 docker 映像时,映像已成功创建并且一切正常。但是我不能将 Dockerfile 与docker-compose 一起使用。
这是我使用BuildKit 挂载功能的Dockerfile 的一部分:
RUN mkdir -p -m 0600 ~/.ssh && ssh-keyscan github.com >> ~/.ssh/known_hosts
RUN --mount=type=ssh npm install
单独使用Dockerfile 构建映像时,我传递了--ssh default 参数,如下所示,它成功安装了私有仓库:
docker build --ssh default -t CONTAINER_NAME .
在this article 之后,在docker-compose.yml 文件中我包含了$SSH_AUTH_SOCK,如下所示:
environment:
- NODE_ENV:${NODE_ENV}
- SSH_AUTH_SOCK:${SSH_AUTH_SOCK}
volumes:
- $SSH_AUTH_SOCK:${SSH_AUTH_SOCK}
但是,每当我尝试运行 docker-compose up 时都会出现此错误
#11 44.97 npm ERR! code 128
#11 44.97 npm ERR! An unknown git error occurred
#11 44.97 npm ERR! command git --no-replace-objects ls-remote ssh://git@github.com/organization/repo.git
#11 44.97 npm ERR! git@github.com: Permission denied (publickey).
#11 44.97 npm ERR! fatal: Could not read from remote repository.
#11 44.97 npm ERR!
#11 44.97 npm ERR! Please make sure you have the correct access rights
#11 44.97 npm ERR! and the repository exists.
知道我做错了什么吗?
标签: node.js docker ssh docker-compose dockerfile