inflearn logo
강의

Course

Instructor

Learning Docker and CI Environments by Following Along [Updated 2023.11]

Specify the Working Directory

WORKDIR 설정과 관련하여 문의드립니다.

468

nicedevteam1483

2 asked

1

안녕하세요!
강의를 듣다가 햇갈리는 부분이 있어서 문의 드립니다.
 
------------------------------------------
Dockerfile 작성시
1. npm install을 실행하기 위해 package.json을 작성한다.
2. package.json을 컨테이너에 복사해주기 위해 COPY 옵션을 줘서 넣어준다.
3. ./ 경로에 복사할 경우 파일 중복 및 파일 관리 문제가 발생할 수 있어서 WORKDIR 옵션으로 복사할 파일 경로를 설정해준다.
------------------------------------------
 
이런 식으로 흐름으로 진행이 되는것 같은데요,
WORKDIR 옵션을 어떻게 줬느냐에 따라서 package.json 파일이 위치하는 경로가 달라질것 같은데..
 
질문1. package.json파일의 위치에 상관없이 npm install이 실행 되는건가요?(이건 node.js 공부를 해야하는 거겠죠..? ㅎㅎ)
 
질문2. 아니면 node.js가 아니라 다른 베이스 이미지 파일을 사용한다면 WORKDIR 경로에 따라서 이미지 실행이 안될수도 있나요?
 
 
 
답변 부탁드리겠습니다 ㅜㅜ
 

aws docker github cicd 데이터 엔지니어링 travis-ci

Answer 1

1

John Ahn

안녕하세요 !!!! 
궁금해하면서 공부하시는 모습이 너무 보기 좋네요 ㅎㅎㅎ ! 

질문1. package.json파일의 위치에 상관없이 npm install이 실행 되는건가요?(이건 node.js 공부를 해야하는 거겠죠..? ㅎㅎ)
 
WORKDIR '/usr/src/app'
COPY package.json .
RUN npm install
COPY ./ ./

여기 보시면 /usr/src/app 에 packag.json이 들어가서 거기서 npm install 이 이뤄집니다.
그렇게 되면 그곳에 node_modules 폴더도 생기겠죠 ! package.json 파일이 있는곳에서만 npm install 이 가능합니다 !!
그래서 WORKDIR 의 디렉토리에 packag.json 을 넣어주고 그 디렉토리 위치에서 npm install을 해줍니다.

 
질문2. 아니면 node.js가 아니라 다른 베이스 이미지 파일을 사용한다면 WORKDIR 경로에 따라서 이미지 실행이 안될수도 있나요?

베이스 이미지와 WORKDIR은 관계는 없습니다. 윈도우 컴퓨터든 맥 컴퓨터든 어떠한 프로그램을 사용하려면 그 해당 디렉토리에 가서 사용하는 것 처럼  베이스 이미지로 인해서 WORKDIR을 바꿔주고 하는 것은 없습니다 ~ ! 

수고하세요 !!

 

0

nicedevteam1483

답글 달아주신거 보고 다시 실행해보니 이해됐습니다 ㅎㅎ

감사합니다!!

Docker Containers간 통신 할 때 나타나는 에러 강의 질문

0

79

1

WINDOW + Vite를 사용하여 소스 코드 변경이 반영되지 않는 현상

0

79

1

도커 컨테이너 끼리 SSL 통신 시 문제가 생깁니다..

0

215

1

도표 강의 자료 사용이 불가합니다. (권한 문제)

0

135

1

Docker compose 관련 공유

0

140

1

트레비스가 유료화가 되어 테스트가 어려워 챕터8에서 고민중입니다.

0

78

1

강사님 혹시 vscode 어떤 테마 쓰시나요..?

0

285

1

The instance profile aws-elasticbeanstalk-ec2-role associated with the environment does not exist.

0

105

1

travis ci가 이제 유료화가 된 것 같습니다;;;

0

209

2

docker-compose up 에러 공유 드립니다

0

290

1

Elastic Beanstalk에서 도메인 클릭시 react 이미지가 안나오고 다른 화면이 나오는데

0

170

1

도커 빌드 시간이 너무 오래걸려요..

0

1054

2

docker-compose down 이후에도 containers에 redis가 남아 있는 이유

0

167

1

도커 볼륨이 작동이 안되는것 같아서 질문드립니다!

0

212

2

docker-compose 가 Docker Desktop 에서 빠진건가요? command not found 라고 뜨네요

0

277

1

Error response from daemon: The system cannot find the file specified.

0

219

1

draw.io 오류

0

646

1

Docker Volume 오류(reference, lowercase)

0

564

1

[섹션3 - 내가 만든 이미지 기억하기 쉬운 이름 주기] 네이밍/태그 에러

0

226

1

axios오류 문의드립니다!

0

333

1

node.js version

0

485

1

안녕하세요 마지막 강의 질문 있습니다.

0

434

1

Deploy를 계속 실패합니다.

3

1382

4

TravisCI에서 계속 에러가 납니다....

0

356

1