나는 docker-compose를 통해 관리하고 싶은 몇 가지 자식 repo가 있습니다. 도커가 작성한 프로젝트가 git repo가되기를 원합니다.마이크로 서비스 설정
UI-Repo --> .git --> Dockerfile
Server-Repo --> .git --> Dockerfile
Local-Development-Repo --> .git --> docker-compose.yml
불행하게도, 내가 인해 도커의 한계로 UI-환매 약정 및 서버 리포 dockerfiles에 액세스 할 수없는 것 : 그래서 나는 다음과 같은 조직을 가지고있다. Local-Development-Repo 내의 UI-Repo 및 Server-Repo에 대한 sym 링크가 작동하지 않습니다. 그래서 두 가지 옵션을 생각해 볼 수 있습니다.
망할 놈의 서브 모듈은
- 이 방법의 단점은 내가 package.json을 복사
node_modules
내 .gitignore에 있기 때문에 내 dockerfiles 내부npm install
을 수행해야 할 것입니다. 이 작업을 순전히 개발 용으로하고 이상적으로는 도커 컨테이너 내부에 종속성을 설치하는 대신 볼륨을 사용해야합니다.
- 이 방법의 단점은 내가 package.json을 복사
docker-compose.yml 파일이 들어있는 상위 디렉토리 내부 UI-Repo 및 서버 - Repo.
- 이 접근법의 단점은이 부모가 힘내를 통해 추적되기를 바랍니다. git repo가 두 개 더있는 부모 디렉토리에서 .git을 사용한다고 생각하지 않습니다.
여러 독립적 인 자식의 repos을 가진 microservices 아키텍처를 설정하고 고정 표시기가-구성하여 지역 발전을위한이 프로젝트를 관리하기 위해 제안 된 방법은 무엇입니까?
도커 작성시 다른 저장소를 참조하려면 왜 Dockerfile에 액세스해야합니까?다른 docker 이미지의 이미지를 자신의 repo에 만들고 docker-compose에서 이미지를 만듭니다. 어쩌면 당신의 유스 케이스를 놓치고 있습니까? – Rash
@Rash - docker-compose가 프로젝트의 다양한 서비스를보다 잘 관리하는 데 사용되므로 단순히 서버 및 UI 서비스를 실행하기 위해'docker-compose up '을 실행할 수 있다고 생각합니다. 매번 repo를 실행하십시오.) 각 프로젝트에 대한 도커 내부의 "볼륨"을 활용하고 싶습니다. 그렇게하면 개발 중에 UI에서 무언가를 변경하면 실행중인 서비스가 이미지를 다시 작성하거나 다시 실행하지 않고도 자동으로 감지 할 수 있습니다. – Chris
그래서 실제 파일이 볼륨 옵션을 통해로드되는 모든 UI 프로젝트에 기본 docker 파일이 필요합니다. 해당 도커 파일을 별도로 작성하고 도커에서 작성한 참조를 작성하고 해당 빌드에 데이터를 마운트하십시오. 다른 프로젝트의 도커 파일에는 액세스 할 필요가 없습니다. – Rash