데브코스에서 진행한 강의에 docker compose에 대한 자세한 내용을 작성해두었으니 참고하시면 좋을 것 같습니다.
이번 포스팅에서는 data engineering zoomcamp에서 진행한 간단한 docker compose 파일을 작성하는 과정을 다룹니다.
docker compose 파일 생성하기
우선 docker-compose.yml 파일을 생성하고 안에 다음과 같이 틀을 잡았다.
services:
pgdatabase:
image: postgres:13
pgadmin:
image: dpage/pgadmin4
우선 만들고자하는 컨테이너별로 이미지를 할당했다. database는 postgre:13으로, pgadmin은 pgadmin4를 사용!
컨테이너 정보 입력하기
컨테이너에서 필요로하는 기본 정보들을 입력한다.
- environment: 각 컨테이너의 환경 변수들을 설정
- volumes: 볼륨을 설정해준다. ":rw" 라는 새로운 값이 들어가있는데 read write 권한을 준다는 의미이다.
- ports: 내부와 외부 포트를 맵핑해준다. 로컬에서 docker 내부의 해당 포트 접근이 가능해진다.
services:
pgdatabase:
image: postgres:13
environment:
- POSTGRES_USER=root
- POSTGRES_PASSWORD=root
- POSTGRES_DB=ny_taxi
volumes:
- "./ny_taxi_postgres_data:/var/lib/postgresql/data:rw" # read write
ports:
- "5432:5432"
pgadmin:
image: dpage/pgadmin4
environment:
- PGADMIN_DEFAULT_EMAIL=admin@admin.com
- PGADMIN_DEFAULT_PASSWORD=root
ports:
- "8080:80"
실행 & 결과
docker compose up 명령으로 실행해주면 다음과 같이 두개의 컨테이너가 올라온다.
네트워크 이름을 명시하지 않아도 둘은 같은 네트워크에 묶여있다!
pgAdmin에 접속하면 정상적으로 db에 연결된 것을 볼 수 있다.
전체 코드는 Github에 업로드 하였습니다.
'Infra & Container > Docker' 카테고리의 다른 글
Docker - Docker compose (0) | 2024.03.21 |
---|---|
Docker - 명령어 정리 & Volume (0) | 2024.03.21 |
Docker - Postgres > Data Ingestion (0) | 2024.03.21 |
Docker - Postgres > pgadmin (0) | 2024.03.20 |
Docker - Postgres (0) | 2024.03.20 |