
애플리케이션을 컨테이너화 해서 쉽게 배포 및 실행을 도와주는 플랫폼. 앱을 실행하려면 이것저것 설치 및 설정해야 하는데 Docker를 사용하면 다 되게끔 다른 사람에게 전달이 가능하여 다른 사람이 바로 실행이 가능함.
여러개의 컨테이너를 정의하고 실행하기 위한 도구
Yml파일을 통해 서비스,네트워크,볼륨 등을 설정할 수 있음.
version: '3.8'
services:
db:
image: postgres:15
container_name: test-db
restart: always
ports:
- "5432:5432"
environment:
POSTGRES_USER: admin
POSTGRES_PASSWORD: testtest
POSTGRES_DB: testdb
volumes:
- test_db_data:/var/lib/postgresql/data
volumes:
test_db_data:
위 yml 파일을 뜯어보자 일단
# 컨테이너 시작
# -d = 백그라운드로 실행
docker-compose up -d
# 컨테이너 상태 확인
docker ps
# 컨테이너 중지
docker-compose down
// 컨테이너 내부의 psql 실행
// docker exec -it [container_name] [command]
docker exec -it test-db psql -U admin -d testdb