반응형
내가 이해하는 docker-compose 는 간단하다.
한번에 여러 docker image 를 빌드하고 올리고 싶을때 쓰는 docker 확장 명령어 라고 생각한다.
나는 이기능 이외에 써본 적은 없다. 한번 써본 후 바로 Kubernetes로 넘어갔다.
docker-compose 명령어
docker-compose 명령어는 docker-compose.yml 파일을 읽어서 실행한다.
version: '3' #파일 규격 버전
services: #docker image를 올릴 컨테이너 리스트
db: #서비스의 이름
image: postgres #서비스에서 사용할 도커 이미지
volumes: #volumes에는 상대 경로 (host path : docker container path)
- ./docker/data:/var/lib/postgresql/data
environment: #환경변수 설정 (docker run 명령어의 -e 옵션)
- POSTGRES_DB=sampledb
- POSTGRES_USER=sampleuser
- POSTGRES_PASSWORD=samplesecret
- POSTGRES_INITDB_ARGS=--encoding=UTF-8
django:
build: #local 의 Dockerfile 을 찾아서 build 하여 이미지로 사용한다.
context: .
dockerfile: ./compose/django/Dockerfile-dev
environment:
- DJANGO_DEBUG=True
- DJANGO_DB_HOST=db
- DJANGO_DB_PORT=5432
- DJANGO_DB_NAME=sampledb
- DJANGO_DB_USERNAME=sampleuser
- DJANGO_DB_PASSWORD=samplesecret
- DJANGO_SECRET_KEY=dev_secret_key
ports: #서비스 port 설정 (docker run 명령어의 -p)
- "8000:8000"
command: #docker run으로 앱 컨테이너를 실행할 때 가장 마지막에 적었던 명령어 부분입니다.
- python manage.py runserver 0:8000
volumes:
- ./:/app/
$docker-compose --help # help 명령어 - 사용 가능한 docker-compose의 모든 명령어
$docker-compose build # docker-compose.yml 의 서비스 이미지를 build 한다.
$docker-compose up -d # background에서 실행하기
$docker-compose logs # logs 확인
$docker-compose ps # ps 확인
docker-compose 공부 후
docker-compose는 그냥 한번에 빌드되고 한번에 올릴 수 있다. 정도만 알면 될 것 같다.
반응형
'Tech > Docker,K8S,CICD' 카테고리의 다른 글
Docker 로 Jenkins 설치하기 (0) | 2021.03.09 |
---|---|
Kubernetes 기본 설명 (0) | 2021.03.03 |
Docker 기본 설명 (0) | 2021.03.03 |
댓글