docker-compose.yml
version: '3.1'
services:
postgres-db:
image: postgres
restart: always
container_name: postgres # 컨테이너 이름 설정
environment:
POSTGRES_USER: "${DB_USER_ID}"
POSTGRES_PASSWORD: "${DB_USER_PASSWORD}"
volumes:
- ${POSTGRES_HOME_DIR}/data/:/var/lib/postgresql/data
ports:
- 5432:5432
adminer:
image: adminer
restart: always
container_name: postgres-adminer # 컨테이너 이름 설정
ports:
- 8080:8080
위와 같이 docker-compose.yml 파일을 작성한 뒤,
동일 폴더에 .env을 만들어서 변수를 치환하도록 셋팅할 수 있습니다.
.env
DB_USER_ID=peter
DB_USER_PASSWORD=1q2w3e4r
POSTGRES_HOME_DIR=/Users/Shared/data/postgres-db
해당 변수들 정상 치환 여부는 아래 명령어로 확인 가능합니다.
> docker-compose config
아래 명령어를 실행하여 postgresql 과 adminer 컨테이너를 띄웁니다!
> docker-compose up -d
localhost:8080으로 adminer에 접속하여 postgresql-db에 접속할 수 있습니다.
이 때 서버는 docker-compose.yml 파일에 명시했던 'postgres-db'로 찾을 수 있습니다.