docker-compose.yml 파일의 탄생

서재환·2022년 3월 14일
0

Docker

목록 보기
10/12

docker-compose.yml 기술의 장점

frontend, backend, database 환경설정을 각각 따로 해준 Dockerfile이 있어 각 도커파일로 이미지를
만들고 컨테이너를 띄울 시 크게 3번의 작업을 실행해야 한다.

하나의 작업이 아래와 같은 내용을 포함한다고 했을 때의 경우 -> 총 3번
frontend 라는 디렉토리가 있고 그 안에 front를 구성하는 파일들과 Dockerfile이 담겨 있어 도커파일로 이
미지를 만들고 컨테이너를 띄울 경우

이렇게 3번의 작업을 거쳐 각각의 container를 띄우는 과정을 docker-compose.yml이라는 파일을 하나 더 
작성함으로써 조금더 편하게 작업을 수행할 수 있다.

docker-compose.yml

docker-compose.yml 생김새

version의 경우 자신이 다운받아 사용하는 docker 버전에 상응하는 버전을 적어주면 된다.

services의 경우 container가 생겼을 때 network에 대한 별칭을 주는 항목이다. 아래
파일의 경우 database, backend, frontend 라는 network 별칭을 준 것이다.

build 부문의 경우 docker-compse.yml 파일이 있는 위치 기준에서 img 파일을 빌드하기
위한 dockerfile의 경로를 적어준다.

ports 부문의 경우 host:container 포맷에 해당하며 오픈 할 호스트의 포트와 컨테이너
포트를 지정해서 적고 문자열로 적는다.

volumes 부문의 경우 로컬에서 작업 할 폴더의 위치와 컨테이너의 위치를 연결시켜주는 부문이다.

environment의 경우 Dockerfile에서 작성한 환경변수에 값을 지정 할 경우 사용한다.


해당 파일에서 hostname과 container_name의 차이

hostname
컨테이너 내에서만 사용할 수 있다. container shell 환경으로 들어가서 hostname command를 hostname이 출력

container_name
컨테이너 이름의 경우 service 부문에서 설정해준 이름과 같이 container 간 통신에서 DNS name으로 쓰인다.

0개의 댓글