반응형

환경만들기, DOCKER COMPOSE
docker-compose.yaml
하나이상의 프로젝트를 하는 경우 프로젝트간에 의존하지 않게 환경을 조성하는 것이 필요합니다. 로컬 컴퓨터에 이미 존재하는 환경과 서로 꼬일 수도 있고 막상 배포하고 나서도 환경이 맞지 않아서 오류가 발생할 수 있습니다. 이런 상황에서 도커로 개발환경을 만든다면, 오류를 최소화 시킬 수 있습니다. 다만 도커만으로는 옵션을 설정하는데 많은 시간과 노력이 필요하고, 실행순서도 일일히 확인해야합니다.
어떻게 실행할지 어떤 순서로 실행할지 또 여러 옵션을 미리 적어두어서 실행하기 편하도록 파일을 만들 수 있습니다. 이 파일을 yaml, yml이라고 합니다.
docker-compose.yaml
version: '3' # 3으로 시작하는 최신버전 사용
services: # 실행하려는 컨테이너 정의 (컨테이너 대신 서비스라는 개념 사용)
db: # 서비스 이름을 db로 정의
image: postgres:12 # 사용할 이미지
restart: unless-stopped # 해당 컨테이너의 실행이 중단되었을때 컨테이너를 알아서 재시작
environment: # 환경변수 선언
POSTGRES_PASSWORD: pg_pwd
POSTGRES_DB: sampleDB
POSTGRES_USER: postgres_admin
volumes: # 데이터 저장 ( 불러올 경로 : 저장할 경로 )
- ./init.sql:/docker-entrypoint-initdb.d/init.sql/
adminer: # 서비스 이름을 adminer 정의
image: dpage/pgadmin4:4 # 사용할 이미지 (혹은 build할 수도 있음)
restart: unless-stopped # 해당 컨테이너의 실행이 중단되었을때 컨테이너를 알아서 재시작
environment: # 환경변수 선언
PGADMIN_DEFAULT_EMAIL: user@user.com
PGADMIN_DEFAULT_PASSWORD: pwdpwd
depends_on: #db가 실행되는 것에 따라서 실행 되도록 설정
- db
volumes: # 데이터 저장 ( 불러올 경로 : 저장할 경로 )
- ./servers.json:/pgadmin4/servers.json
ports:
- 5050:80 # Host의 포트가 5050 일 때, 해당 Container의 80 포트로 연결
명령어
docker-compose up # -d를 붙이면 실행 후 콘솔로 빠져나옵니다.
# --force-recreate 컨테이너를 지운뒤에 다시 만듭니다.
# --build 서비스를 시작하기 전에 이미지를 만듭니다.
docker-compose ps # docker ps와 같은
docker-compose stop # 서비스를 멈춤
docker-compose stop # 서비스를 시작
docker-compose down # 서비스를 지움
# --volumne 볼륨까지 삭제
docker-compose exec # run과 같은 방식, 명령어를 실행
docker-compose logs 서비스명 # 서비스명을 안적으면 모든 로그 보여줌
반응형
'인공지능 > 데이터' 카테고리의 다른 글
SQL DB with Python 간단사용법 (0) | 2021.03.12 |
---|---|
GIT DOCKER SQL MongoDB (0) | 2021.03.09 |
DOCKER BASIC (0) | 2021.03.08 |
SQL Basic (0) | 2021.03.07 |
스케일링을 하는 8가지 방법 (0) | 2021.02.03 |
댓글