Я создаю приложение, в котором есть несколько разных сервисов.Я использую 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
Я не уверен, почему он ищет в ../
каталог .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 install
CMD ["npm", "start"]
Также в качестве примечания: субмодуль является частным хранилищем, как бы я клонировал его с помощью SSH?Нужно ли настраивать докер с помощью моего ключа ssh или чего-то еще?Спасибо.
Редактировать: Также каждый из сервисов является подмодулем родительского проекта.Я думаю, что это может быть причиной того, что git ищет ../git/modules/my-repo
, но я не совсем уверен, как обойти это.Моя структура каталогов выглядит так:
parent-repo
--service-1
----orm
--service-2
----orm