불친절한 블로그

[Docker] Docker Compose 구성하기 본문

IT Infrastructure

[Docker] Docker Compose 구성하기

오누! 2020. 3. 31. 14:03
728x90
반응형

$ git clone https://github.com/raccoonyy/django-sample-for-docker-compose.git

예제 compose 구성용 예제 프로젝트를 받아온다.

도커 이미지 생성하기!

도커 이미지 잘 생성됐나? 확인!

docker-compose.yml 파일을 만들어줘야하는데

1. version

docker-compose.yml 파일의 버전을 적습니다.

"3"으로만 적으면 3으로 시작하는 최신 버전을 사용한다는 의미입니다.

2. services

실행하려는 컨테이너들을 정의합니다. docker-compose에서는 컨테이너의 개념으로 서비스를 사용합니다.

여기까지 기본정보입력입니다.

3. db

db를 이용하기 위해 services 안에 db를 입력합니다.

4. image

db서비스에서 사용할 이미지 명을 적습니다.

5. volumes

docker run으로 컨테이너 실행시 --volume 옵션을 사용하는 방법과 같습니다.

장점으로 docker-compose.yml의 volumes에는 상대 경로를 지정할 수 있습니다.

6. environment

docker run에 -e 옵션의 내용입니다. db 환경설정입니다.

여기까지 docker-compose.yml의 db설정 방법입니다.

7. django

앱 서비스를 사용하기 위해 django를 넣습니다.

8. build

앱 서비스의 경우 image 대신 build 옵션을 넣습니다.

context는 docker build 명령을 실행할 디렉터리 경로로 보면 됩니다.

dockerfile에는 docker image를 build할때 사용될 Dockerfile을 지정하면 됩니다. (상대경로)

9. environment

Django 설정파일에서 불러와 사용하게 됩니다. (db관련 정보들은 db서비스에서 설정한 값들과 일치해야 합니다.)

10. ports

docker run -p 옵션에 해당하는 부분입니다.

11. command

docker run으로 앱 컨테이너를 실행할 때 가장 마지막에 적던 명령어 입니다.

12. volumes

docker run -v 옵션부분입니다. 프로젝트 루트 디렉터리 컨테이너 안의 /app 디렉터리와 연결하는 부분과 같습니다.

여기까지 앱 서비스 설정입니다.

docker-compose를 실행하겠습니다.

$ docker-compose.yml up -d

docker-compose 기본 명령어

1. up -d

docker-compose.yml 의 이미지 내용을 빌드하고 서비스를 실행합니다.

1) 서비스를 띄울 네트워크 설정

2) 필요한 볼륨생성

3) 필요한 이미지 pull

4) 필요한 이미지 build

5) 서비스 실행

 

up 명령 옵션

1) -d : 서비스 실행 후 콘솔로 빠져나옵니다.

2) --force-recreate : 컨테이너를 지우고 새로 만듭니다.

3) --build : 서비스 시작 전 이미지를 새로 만듭니다.

2. ps

현재 환경에서 실행 중인 각 서비스의 상태를 보여줍니다.

3. stop, start

서비스를 멈추거나, 멈취있는 서비스를 시작합니다.

4. down

서비스를 지웁니다. 컨테이너와 네트워크를 삭제, 옵션에 따라 볼륨도 삭제가능합니다.

5. exec

실행 중인 컨테이너에서 명령어를 실행합니다.

6. logs

서비스의 로그를 확인할 수 있습니다.

728x90
반응형
Comments