2014-11-28 2 views
0

몇 가지 맞춤 모듈에서 작업하고있는 OpenERP 프로젝트에서 일하고 있습니다.공유 데이터 컨테이너에서 개발 및 버전 관리

  • 응용 프로그램 : 나는 3 컨테이너 설정이 OpenERP 서비스가 여기에 실행을
  • 데시벨 : PostgreSQL의 서비스, 아무것도
  • 데이터 : 만 볼륨 디렉토리와 '응용 프로그램'용기
  • 에 대한 데이터 공급자의 역할

괜찮 으면 좋겠지 만 데이터 컨테이너의 파일을 작업하고 싶다면 올바른 IDE를 사용하는 가장 빠르고 최선의 방법이 무엇인지 알지 못한다. 코드를 작성하고 실제로 유지한다. 내가 컨테이너를 닫은 후에?

한 가지 방법은 공유 X11 서비스가있는 다른 컨테이너를 만들고 GUI 기반 IDE 또는 이와 유사한 도구를 사용하여 컨테이너에 접근하는 것입니다.하지만이 방법은 다소 과장된 것 같습니다.

버전 제어 관련 : 변경 사항 저장에 도움이 될 수있는 원격 자식 알림이 있지만 Dockerfile에서 이미지를 빌드하고 스핀 업하면 곧 SSH 만 허용되므로 저장소를 복제 할 수 없습니다 연결 및 컨테이너에는 없습니다.

공유 데이터 컨테이너에 대한 몇 가지 기사와 블로그 게시물이 있으며 얼마나 멋진가를 발견했습니다. 나는이 데이터 접미사에 대한 코드의 실제 개발 및 커미트에 대해 논의한 다른 곳을 찾을 수 없었습니다.

생각하십니까?

답변

2

X11 서비스를 공유하는 컨테이너가 필요하거나 git을 사용하여 컨테이너에서 코드 저장소를 복제 할 필요가 없습니다. 개발을위한

, 당신이 당신의 "데이터"컨테이너에 볼륨을 사용하여 코드 폴더를 마운트 할 수 있습니다 다음 "응용 프로그램"컨테이너가이 파일을 볼 수 있습니다 (https://docs.docker.com/userguide/dockervolumes/ 참조)

sudo docker run -d -P --name data -v /src/webapp:/opt/webapp my/container 

을이 폴더에있을 것입니다 때문에 호스트 컴퓨터는 "데이터"컨테이너가 종료 된 후에도 지속됩니다. 또한 선호하는 IDE를 사용하여 코드를 편집 할 수 있습니다.

프로덕션을 위해 컨테이너를 직접 배포 할 수 있도록 컨테이너 폴더 이미지에 코드 폴더를 추가 할 수 있습니다. 당신의 Dockerfile에서 :

ADD /home/user/webapp /opt/webapp 

또한,이 방법의 짧은 토론 Embed code in docker container or mount it as a volume?를 참조하십시오.

+1

처음에 그렇게했습니다. 문제는 폴더가 특정 권한 (사용자 openerp 소유,이 사용자는 데이터 및 앱 컨테이너에서도 생성됨)을 가져야한다는 것입니다. 이 경우 가장 좋은 방법은 무엇입니까? – SLOBY

+0

나는 거기에 사소한 해결책이 있다고 생각하지 않는다. 그것에 대한 토론은 http://stackoverflow.com/questions/23544282/what-is-the-best-way-to-manage-permissions-for-docker-shared-volumes를 참조하십시오. – dukebody