Tags
- 맛집
- 도쿄
- 수요미식회
- 여행
- 군산
- 축복렌즈
- 오사카
- 우리에프아이에스
- 17-55
- 전주
- ai_엔지니어링
- 제주도
- 시청
- 650d
- 대만
- fdr-x3000
- Python
- SQL
- CS231n
- 건담
- 사진
- 우리fis아카데미
- 대만여행
- 우리fisa
- 축복이
- 카페
- 전시
- 글로벌소프트웨어캠퍼스
- k-디지털트레이닝
- 해리포터
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Today
- Total
Recent Posts
300x250
브렌쏭의 Veritas_Garage
Docker 본문
적절한 수준의 가상머신
컴퓨팅성능의 상승으로 인해, 가장 빛을 본 녀석들 중 하나가 가상머신 아닐까? 이제는 앵간한 것들은 vm으로 대충 다 때워버려도 괜찮은 수준이니 말이다.
심지어 도커끼리 컴포즈 하면 포트포워딩도 신경쓸 필요가 없다. 도커끼리는 포트를 신경 쓸 필요없이 내부망으로 인식하고, 외부로 나가는 포트도 docker-compose.yaml 파일에서 죄다 지정해버리고 묶어버릴 수 있기 때문에 매우 편리해진다.
version: "3.7"
services:
my_backend:
build:
context: .
dockerfile: Dockerfile
ports:
- 1000:3000
my_database:
build:
context: .
dockerfile: Dockerfile.mongo
ports:
- 1001:27017
docker-compose.yaml 의 예시. 위의 경우 서비스 my_backend 와 my_database 를 버전 3.7의 도커로 컴포즈 하겠다는 것이다.
들여쓰기의 수준으로 부모/자식이 지정되므로 잘 보면서 해두자.
잘 보면 각각의 도커파일을 지정하게 되어있고 포트 항목이 있는데, 도커파일은 빌드하게 될 파일이고, 포트의 경우는 도커 외부와 통신할 포트포워딩 항목이다.
docker-compose build // 지정한 도커파일을 다 빌드한다
docker-compose up // 지정한 도커파일을 다 실행한다
그 외에는 내용을 바꿨다면 컨테이너를 꼭 지운뒤 다시 빌드하라는거 정도? 근데 이거 드럽게 귀찮다.
따라서 볼륨을 지정해서 변경되는 사항을 실시간으로 반영할 수 있도록 해야한다.
services:
my_backend:
build:
context: .
dockerfile: dockerfile
volumes:
- ./index.js:/my_backend/index.js
- 로컬안파일경로:도커안파일경로
ports:
- 3000:3000
로컬 파일 위치와 도커내부 경로를 맞춘다.
그리고 도커 안에서도 node 대신, nodemon으로 index.js를 실행시킨다. (dockerfile 에서 지정)
'[Project_하다] > [Project_공부]' 카테고리의 다른 글
Nest.js 를 위한 기초쌓기 #20220328 (0) | 2022.03.28 |
---|---|
파이프라인 or ERD (0) | 2022.03.28 |
스크랩 / 크롤링 (0) | 2022.03.24 |
프로젝트와 package.json (0) | 2022.03.23 |
Husky..husky...허스키.. & Git hook (0) | 2022.03.23 |
ESlint & Prettier : 코드의 퀄리티와 스타일 (0) | 2022.03.22 |
타입스크립트, MS의 모빌슈츠는 괴물인가? (0) | 2022.03.22 |
Comments