다중 도커 컨테이너를 서로 간의 연결/실행을 하게 도와주는 도구입니다.
우리의 docker-compose.yml 파일에 대한 구성 컨테이너이다.
- 추가적으로 포트매핑을 해주어야 한다.
- 기존 두 컨테이너는 서로 연결 시켜줄 수 없는 것을,
docker-compose를 이용해서 한다.
- version : docker-compose 버전
- service : 실행하려는 docker container 정의
- frontend, backend : 컨테이너 이름
- build : 현 디렉토리에 있는 Dockerfile (default)
- context : 해당 컨테이너에 맞는 Dockerfile 경로
- container_name : 컨테이너 이름 지정
추가적으로 docker-compose 실행 법이다.
docker-compose up
: 이미지가 존재 하지 않을 경우에만 빌드, 컨테이너 시작docker-compose up --build
: 이미지를 무조건 빌드, 컨테이너 시작docker-compose up --no-build
: 이미지 빌드 없이 컨테이너 시작, 이미지 없을 시 실패
- 나눠 놓은 컨테이너만 크게 4가지로 나뉜다.
여기까지가 Docker-compose 사용에 대한 내용이고,
다음은 Nginx 서버에 대해서 알아보도록 하자.
웹 서버 어플리케이션의 종류로, HTML, CSS, Javascript, 이미지와 같은 정보를 웹 브라우저(Chrome, Iexplore, Opera, Firefox 등)에 전송하는 역할
즉, 중간 다리 역할을 한다는 것.
우리의 프로젝트에서는
Frontend와 Backend을 전체적으로 이어주는 Proxy의 역할을 한다.
요청 URL이 API가 추가되서 온다면
Server
, 그 외에는Front
로 간다는 것...
그러면 왜 Nginx를 사용 할까?
단순하게 Server/Front 연결을 할 수도 있다.
웹서버로 구성해서 이중화 구성을 하는 이유는
그럴싸한 로드밸런스 를 위해서다.
- 죽지 않는 서버 ( 무중단 서버 구현 )
- 매우 빠른 서버 구성
위와 같은 서버 구성을 하기 위해서는 Nginx와 같은 중간 웹서버가 필요하다.
단점은 .. 오류가 발생하면 그대로 바로 배포해버려서 고치기 힘들다는 점..ㅠㅠ