我正在构建一个具有几种不同服务的应用程序。我正在使用 docker 和 docker-compose 来构建所有服务。然而,我需要在服务之间共享一些代码,特别是 ORM 代码。我的问题是,当我尝试致电时git submodule update --init出现以下错误:
Step 6/8 : RUN git submodule update --init
---> Running in 88e2dcfa5b36
fatal: Not a git repository: ../.git/modules/my-repo
ERROR: Service 'my-repo' failed to build: The command '/bin/sh -c git submodule update --init' returned a non-zero code: 128
Run Code Online (Sandbox Code Playgroud)
我不确定它为什么要查找../目录.git。我很确定我设置WORKDIR正确。这是我的全部Dockerfile
FROM node
WORKDIR /usr/src/my-repo
COPY package*.json ./
RUN npm install
COPY . .
RUN git submodule update --init
RUN git submodule foreach npm …Run Code Online (Sandbox Code Playgroud) 我正在使用 docker-compose 建立一个测试基础设施。我想使用 docker-compose 选项--exit-code-from从运行测试的容器中返回退出代码。但是,我还有一个容器,它使用 sequelize cli 在我的数据库容器上运行迁移。当迁移完成然后我的测试运行时,此迁移容器以代码 0 退出。这会导致--exit-code-from和--abort-on-container-exit选项出现问题。迁移容器退出时有没有办法忽略?