2017-11-07 11 views
0

저는 Docker의 초보자입니다. Docker를 탐험하고있는 응용 프로그램이 있습니다. 고정 장치로 여러 용기를 만들 수 있습니다. 여기까지는 모든 것이 예상대로 작동합니다. 각각 .sh 및 .yml 파일이 있습니다.사용자 정의 파일과 도커 이해.

내가 이해할 문제가있는 시나리오는 내 사용자 지정 디렉토리, 파일을 배치 할 수있는 컨테이너가 있다는 것입니다. 컨테이너 시작/다시 시작할 때 사용자 지정 파일이 해당 컨테이너의 웹 루트에 복사됩니다 . 나는 그 장면 뒤에 무슨 일이 일어 났는지 이해하고 싶다.

  • 컨테이너 시작/재시작시 새 이미지를 만들고 해당 이미지를 배포합니까?
  • 새 컨테이너에서 파일을 그대로 옮깁니다.

위의 시나리오를 이해하는 데 큰 도움이됩니다. 미리 감사드립니다.

답변

0

컨테이너 작성 및 실행 방법에 따라 다릅니다. 당신은 Dockerfile이 있고 거기에 당신은 COPY 또는 /내/파일/을 ADD 지정하면 // 용기/경로이 컨테이너 내부 /내/파일 복사가 발생합니다하고 그것을 만듭니다 새로운 이미지 층 (당신이 Dockerfile 내에서 실행되는 각 명령이 새 레이어를 생성)

이것은 그 시점에서 파일의 스냅 샷을하고 도커 이미지에 걸쳐 복사합니다 것을 의미한다. 당신이 당신의 고정 표시기-작성 파일을 사용하고 해당 파일을 마운트하는 경우

그러나, 파일이 은 호스트와 컨테이너 사이을 공유 할 것이다. 즉, 로컬 호스트의 파일을 편집하고 컨테이너와 즉시 동기화하거나 그 반대로 할 수 있습니다.

+0

도움말 @ 수크 주셔서 감사합니다. Docker 파일을 확인했는데 ** COPY ** 또는 ** ADD **를 찾을 수 없습니다. 도커 작성 파일에서 볼 수는 있지만 파일을 계속 편집하거나 추가하는 중입니다. 컨테이너를 다시 시작해야합니다. 재시작을 피하고 동기화되도록하는 방법. 또한이 볼륨 또는 마운트가 새로운 이미지 레이어를 생성한다는 것을 확인하십시오. – NGupta

+0

@NGupta 추가 이미지 레이어를 만들지 않는 도커 작성 파일에 * 볼륨 *을 지정한 경우 아무런 문제가 없습니다. 이미지 레이어는 Docker 이미지를 만들 때 만들어집니다. 볼륨 경로를 변경 한 경우에만 볼륨을 마운트하면 컨테이너를 다시 시작해야합니다. 도커 작성 파일을 붙여 주시겠습니까? – Sergiu

+0

빠른 응답을 보내 주셔서 감사합니다. 나는 도커 작성 파일을 여기에 붙일 수 없다는 것을 두려워합니다. >> 추가 이미지 레이어를 만들지 않는 도커 작성 파일에 볼륨을 지정한 경우. 이 경우 변경 사항을 동기화하는 방법을 이해하고 싶습니다. 공급자가 문서에서 컨테이너가 다시 시작되면 이러한 변경 사항을 사용할 수 있다고 언급 했으므로 – NGupta