88개발에 필요한 툴들을 버전에 맞게 설치하고 일일히 업데이트 하는 것은
99힘들고 귀찮은 일입니다.
1010** 도커** 와 ** 비주얼 스튜디오 코드** 를 함께 사용함으로서
11- 소프트웨어 개발 정정을 크게 개선할 수 있습니다.
11+ 소프트웨어 개발 경험을 크게 개선할 수 있습니다.
1212
1313이 튜토리얼에서는 ` express.js ` 서버와 ` PostgreSQL ` 데이터베이스를
1414포함한 개발 환경을 구축하는 것을 목표로 합니다.
1515이 프로젝트를 기준으로 다른 도커 컨테이너를 추가해서 사용하는 것도 좋습니다.
1616
1717[ 도커 허브] ( https://hub.docker.com/ ) 에서 찾을 수 있는
1818이미지 목록입니다.
19- 어떻게 조합해서 훌륭한 프로젝트로 만들어 낼지는
20- 창의력에 달렸습니다.
19+ 필요에 따라 창의적으로 조합해서 사용하세요.
2120
2221- 웹 서버
2322 - [ 아파치] ( https://hub.docker.com/_/httpd )
@@ -159,7 +158,7 @@ RUN groupadd --gid $USER_GID $USERNAME \
159158
160159** NOTE** : 만약 ` sudo ` 커맨드를 사용하고 싶다면,
161160추가적인 설정이 필요합니다.
162- 이 튜토리얼에서는 어떻게 설정하는지 다루지 않습니다.
161+ 이 튜토리얼에서는 ` sudo ` 를 어떻게 설정하는지 다루지 않습니다.
163162
164163` DEBIAN_FRONTEND ` 환경변수를 다시 ` dialog ` 로
165164되돌려서 도커 컨테이너를 사용할 때는
@@ -175,15 +174,14 @@ ENV DEBIAN_FRONTEND=dialog
175174USER $USERNAME
176175```
177176
178- 이상 ` Dockerfile ` 에 대한 설명이었습니다.
179-
180177---
181178
182179## docker-compose.yml
183180
184181이제 ` docker-compose.yml ` 파일을 살펴봅시다.
185182
186183YAML은 설정 파일에 자주 쓰이는 파일 포맷입니다.
184+ 키-값 구조로 설정을 저장할 수 있기 때문에 복잡한 설정 파일을 작성하기 편리합니다.
187185YAML에 대해서 더 알고 싶다면 공식 웹사이트를 확인하세요.
188186
189187< https://yaml.org/ >
@@ -262,17 +260,17 @@ environment:
262260" `default-environment`의 모든 값을 `environment`로 불러오시오"
263261라는 뜻입니다. 또한, alias 이후에 `PORT` 키가 설정된 것을 볼 수 있습니다.
264262` PORT` 변수는 나중에 express 서버가 어떤 포트를 listen 해야하는지
265- 정합니다 .
263+ 설정합니다 .
266264
267265` ` ` yaml
268266ports:
269267 - 3000:3000
270268` ` `
271269
272- ` ports` key here defines this port-forwarding behavior.
273270` PORT` 환경변수 때문에 express 서버는 3000번 포트를 listen 할 것입니다.
274271호스트의 포트를 컨테이너의 포트에 포워드 해주어야
275272이 express 서버에 접근할 수 있습니다.
273+ 이러한 포트 포워딩을 `ports` 키로 설정할 수 있습니다.
276274
277275자, 이제 개발을 신나게 해주는 설정을 살펴봅시다!
278276
@@ -339,8 +337,7 @@ environment: *default-environment
339337` ` `
340338
341339YAML alias가 다시 나왔습니다.
342- 이번에는 덮어쓰는 값 없이 `default-environment`를
343- 통채로 불러옵니다.
340+ 이번에는 덮어쓰는 값 없이 `default-environment`를 그대로 불러옵니다.
344341
345342` ` ` yaml
346343ports:
@@ -356,11 +353,14 @@ volumes:
356353 - ../postgresql/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
357354` ` `
358355
359- ` db` 서비스 컨테에너에는 볼륨 두개를 마운트 합니다. 첫번째 볼륨 `pgdata`는
356+ ` db` 서비스 컨테에너에는 볼륨을 두 개 마운트 합니다.
357+
358+ 첫번째 볼륨 `pgdata`는
360359데이터베이스 파일들을 저장하는 용도입니다.
361360` pgdata` 가 상대경로가 아니라는 점에 주목해주세요.
362361` pgdata` 는 **도커 볼륨**입니다. **도커 볼륨**은 도커에 의해 관리되는
363362특별한 저장공간이며, 컨테이너들에 마운트 할 수 있습니다.
363+
364364두번째 볼륨 `../postgresql/docker-entrypoint-initdb.d/`는
365365초기화 스크립트를 저장하는 디렉토리입니다.
366366데이터베이스 파일이 존재하지 않는다면, `postgres` 컨테이너는
@@ -374,9 +374,6 @@ volumes:
374374 pgdata:
375375` ` `
376376
377- Top level `volumes` key is for defining reusable volumes.
378- The empty key `pgdata` here creates a docker volume
379- with default driver.
380377최상위 키 `volumes`는 재사용 가능한 볼륨을 설정할 때 씁니다.
381378여기에 보이는 빈 키 `pgdata`는 기본 드라이버를 사용한
382379도커 볼륨을 생성합니다.
@@ -444,9 +441,6 @@ VS Code가 데브 컨테이너 안에서 workspace를 열어줍니다.
444441**축하합니다!** 성공적으로 VS Code의 workspace를
445442데브 컨테이너 안에서 열었고, postgres 서버도 작동합니다.
446443
447- This repository provides a really simple TODO API server
448- in `app.js` file. Start the server and try it yourself!
449-
450444이 코드 저장소의 `app.js` 파일에 초간단한 TODO API 서버 구현물이 있습니다.
451445서버를 실행하고 직접 테스트해 보세요!
452446
0 commit comments