본문 바로가기
TIL

docker 이미지 / 컨테이너 만들기

by 은지:) 2023. 5. 18.
728x90
반응형

 

 

 

도커(Docker)는 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트이다.

 

 

 

 

쏘큐트 도커 아이콘

런캣 옆에 있으면 넘나 귀엽다

 

 

 

 

 

프론트에서 왜 도커?

=> 환경 맞춰서 개발 / 배포 가능하기 때문

 

 

1. 도커 다운 -> 로그인 -> 실행

2. 도커 이미지 만들기

 

 

프로젝트 root 파일에

 

 

2-1. touch Dockerfile 후 기입

# 가져올 이미지를 정의
FROM node:14
# 경로 설정하기
WORKDIR /app
# package.json 워킹 디렉토리에 복사 (.은 설정한 워킹 디렉토리를 뜻함)
COPY package.json .
# 명령어 실행 (의존성 설치)
RUN npm i
# 현재 디렉토리의 모든 파일을 도커 컨테이너의 워킹 디렉토리에 복사한다.
COPY . .

# 각각의 명령어들은 한줄 한줄씩 캐싱되어 실행된다.
# package.json의 내용은 자주 바뀌진 않을 거지만
# 소스 코드는 자주 바뀌는데
# npm install과 COPY . . 를 동시에 수행하면
# 소스 코드가 조금 달라질때도 항상 npm install을 수행해서 리소스가 낭비된다.

# 3000번 포트 노출
EXPOSE 3000

# npm start 스크립트 실행
CMD ["npm", "start"]

# 그리고 Dockerfile로 docker 이미지를 빌드해야한다.
# $ docker build .

 

 

2-2. docker build -t 이미지 이름 .

 

옆에 . 붙여주기! 경로를 만들어줘야한다

 

 

2-3. docker image ls

 

도커 이미지 만든 점 확인 가넝

 

 

 

 

3. 만든 이미지 컨테이너 띄우기

 

docker run --d --name 컨테이너이름 이미지이름

 

 

 

4.  실행해보기

 

localhost:3000

 

하면

해당 포트는 아직 localhost 를 바라보기 때문에 안 됨

 

포트 포워딩 작업 필요함

 

 

 

 

 

5. 포트 포워딩

 

docker run -d -p 도커로 열 포트번호:3000 --name 컨테이너이름 이미지 이름

 

 

 

6. 실행하면 잘 뜸

 

 

 

 

 

그 외 명령어

 

 

docker ps

=> 실행중인 컨테이너 리스트

 

docker ps -a

=> 모든 컨테이너 리스트

 

docker stop 컨테이너id

docker stop 컨테이너이름

=> 도커 stop

 

docker rm 컨테이너 이름

=> 컨테이너 삭제

=> 도커 stop 후 삭제 가넝

 

 

 

 

 

 

 

참고 블로그

https://velog.io/@oneook/Docker로-React-개발-및-배포하기

https://www.daleseo.com/dockerfile/

728x90
반응형

'TIL' 카테고리의 다른 글

클로저  (0) 2023.05.19
Web Server와 WAS  (1) 2023.05.18
낙관적 업데이트 & finally()  (0) 2023.05.15
e.target, e.currentTarget 차이  (0) 2023.04.30
git은 파일명/폴더명 대소문자 구별 못함  (1) 2023.04.29

댓글