인프런 커뮤니티 질문&답변

붕붕님의 프로필 이미지
붕붕

작성한 질문수

실전도커: 도커로 나만의 딥러닝 클라우드 컴퓨터 만들기

Python을 위한 도커

devcontainer.json 수정 후 rebuild 관련 질문입니다.

해결된 질문

작성

·

167

1

  • 일방적인 수업이 아닌 양방향의 수업을 지향합니다. 게시판에서 질문을 적극적으로 활용하세요. (이해가 되실 때까지 지속적으로 질문을 던지시는 것이 중요합니다. 업무일 기준 2~3일 내에 답변을 드릴 수 있도록 최선을 다하겠습니다.)

  • 다만, 질문이 이해될 수 있도록 (상식 수준에서), 다듬어 주세요.

  • 게시판 공개가 어려운 경우에 메일로 연락주시길 요청 드립니다. (daniel@datatrain.education)

  • 수업을 빠르게 한 번 쭉 들으신 후에, 한 번 더 학습하실 것을 권장드립니다.

 

 

안녕하세요 강사님 수업을 듣다가 궁금한 점이 있어 질문 드립니다.

 

수업을 들으면서 devcontainer.json를 생성하고 rebuild container를 하면

 

1. devcontainer.json의 "build" 정보를 이용하여 docker build 를 진행

  1. docker run ~

  2. 그 외 추가적인 과정

한다고 이해했습니다.

 

그리고 Dockerfile을 image로 만들 때, build를 하는 것으로 알고있습니다.

 

실습에서 Dockerfile과 json 파일에서 "build" 부분을 수정하지 않고, "runArgs", "customization" 을 추가했는데 build를 다시 해야하는 점이 이해가 가지 않습니다...ㅠㅠ

 

devcontainer.json의 수정 사항을 적용하거나 실행하기 위해서는 build과정이 필요해서 그런 것 일까요??

그리고 devcontainer.json을 수정하고 rebuild하면 container가 재생성이 되는 것인가요??

 

또한 처음에 devcontainer.json 파일을 생성하고 New Dev Container 가 아닌 Rebuild container를 하는 이유도 궁급합니다.

 

감사합니다.

 

 

 

답변 2

0

붕붕님의 프로필 이미지
붕붕
질문자

아 네네 감사합니다! 제가 그 동안 container에 대해서 잘못 이해하고 있었는데 이번 강의를 통해서 더 자세히 알 수 있었습니다!

다니엘님의 프로필 이미지
다니엘
지식공유자

제가 더 감사합니다. 끝까지 화이팅하시고 언제든지 질문하시면 됩니다.

 

감사합니다.

다니엘 드림

0

다니엘님의 프로필 이미지
다니엘
지식공유자

안녕하세요. 붕붕님!

 

질문에 대해서 답변을 드리도록 하겠습니다.


(질문) 실습에서 Dockerfile과 json 파일에서 "build" 부분을 수정하지 않고, "runArgs", "customization" 을 추가했는데 build를 다시 해야하는 점이 이해가 가지 않습니다...ㅠㅠ

 

devcontainer.json의 수정 사항을 적용하거나 실행하기 위해서는 build과정이 필요해서 그런 것 일까요??

그리고 devcontainer.json을 수정하고 rebuild하면 container가 재생성이 되는 것인가요??

(답변) container는 계속해서 업데이트된다고 생각하시면 됩니다. Base Image에서 생성된 container에 추가적인 extension을 설치할 때, "customizations"를 사용하게 되고, "runArgs"는 입력변수를 조정하는 내용입니다. 컨테이너를 업데이트하기 위해서 rebuild를 하는 것입니다. 다만 customizations는 도커 일반의 개념으로 이해하시기보다느 VS Code 환경에서 적용되는 특별한 사항이라고 이해하시면 될 것 같습니다.

요약하면 각각의 기능의 목적한 바가 다릅니다.
"build": base image를 지정

"runArgs": 입력변수를 조정

"customizations": VS Code 환경에서 ,extensions를 지정

(질문) 또한 처음에 devcontainer.json 파일을 생성하고 New Dev Container 가 아닌 Rebuild container를 하는 이유도 궁급합니다.


(답변) 혹시 reopen in container를 말씀하시는 건가요? reopen in container는 나의 로컬컴퓨터 환경에서 container 환경으로 접속하겠다는 선언입니다. 예를 들어 동일한 것 같지만 container는 Linux 시스템이 되고, 로컬환경은 Windows 또는 Mac 환경일 수 있고 폴더 구조도 다릅니다.

위의 사항이 답변이 되었길 바랍니다. 열공하시고 필요한 사항 있으면 추가 질문해 주세요.

감사합니다.

다니엘 드림

붕붕님의 프로필 이미지
붕붕

작성한 질문수

질문하기