2015-01-19 5 views
2

도커를 사용하기 시작했지만 개발 환경과 제작의 차이점과 혼동 스럽습니다. 생산 및 개발 용 도커 이미지가 두 개 있습니다

현재 내 developement에 고정 표시기에 내가 파일을 내 호스트를 형성 편집 할 수 있도록이

docker run -d -v /home/code:/var/www/code를 사용합니다.

이제 프로덕션에서는 코드를 볼륨으로 마운트하지 않고 모든 코드와 함께 제공하고 싶습니다. base과 :

그래서 내가

ADD /home/code:/var/www/code

을 별도의 이미지를 만들어 사용해야하거나 하나 개의 이미지에서만

+0

"Dev"와 "Prod"의 차이는 척도 (컨테이너 인스턴스 수) 및 데이터 (볼륨 또는 데이터베이스) –

+0

에 있어야한다고 생각합니다. @ MarkO'Connor는 그 의미에 대해 설명해 주시겠습니까? ; 나는 그것에 대해 더 알고 싶다. – user3214546

+0

소프트웨어를 컨테이너로 포장하여 레지스트리에 저장하십시오. 레지스트리의 이미지에 태그를 달면 언제든지 임의의 시스템에서 버전을 실행할 수 있습니다. 개발자 및 테스트에 유용합니다. 일반적으로 프로덕션 환경에서는 하나의 인스턴스 만 실행합니다. Dev와 같은 방식으로 실행되어야하지만 더 큰로드를 처리하기 위해서는 더 많은 인스턴스가 필요합니다. 둘째, 프로덕션 시스템은 개발자가 일반적으로 액세스 할 수없는 데이터 볼륨이나 프로덕션 데이터베이스에서 자체 데이터를 사용합니다. –

답변

2

내가 권하고 싶습니다 그렇게 할 수있는 방법은 두 개의 이미지를 가지고있다 할 예 : app.

base 이미지는 코드를 제외한 모든 것을 설정합니다. 예를 들어, Java로 작성된 앱은 JDK를 설정합니다. app 이미지는 생산 또는 기타 환경으로 제작하여 출하하는 이미지입니다. 이렇게하면 위에서와 같이 볼륨을 마운트하여 개발 중에 base 이미지를 사용할 수 있습니다.

+0

고마워요, 제가 옳은 생각인지 확인하고 싶었습니다. – user3214546

+0

문제 없습니다. 또한, 나는 단지'app' 이미지가'FROM base'이어야한다는 것을 분명히하고 싶었습니다. –