데브코스에서 진행한 강의에 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에 업로드 하였습니다.

https://github.com/poriz/data-engineering-zoomcamp-poriz/tree/main/01-docker-terraform/introduce_to_docker

'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

+ Recent posts