我在我的一个 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)