Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 리팩토링 2판
- 자바 ORM 표준 JPA 프로그래밍 정리
- @TransactionalEventListener
- ksql
- java
- ksqldb
- intellij 핵심 단축키
- Spring Cloud Netflix
- javascript case
- vue.js
- @Transactional Propagation
- aws
- intellij 즐겨찾기
- #docker compose
- 자바 ORM 표준 JPA 프로그래밍
- JPA
- findTopBy
- 백명석님
- Stream
- CompletableFuture
- Linux
- 친절한 SQL 튜닝
- 마이크로 서비스
- IntelliJ
- git
- HandlerMethodArgumentResolver
- 리눅스
- 원격 브랜 삭제
- intellij favorites
- multipart테스트
Archives
- Today
- Total
시그마 삽질==six 시그마
docker-compose(docker compose) 본문
1. 정의
Docker Compose는 여러 컨테이너를 모아서 관리하기 위한 툴
Docker Compose는 docker-compose.yml 라는 파일에 컨테이너 구성정보를 정의함으로써
동일 호스트상의 여러 컨테이너를 일괄적으로 관리 가능
Docker Compose명령은 docker-compose.yml 이 위치한곳에서 실행함
2. docker-compose.yml 예시
version: "3"
services: # 서비스들을 정의할거다.
nginx:
webserver:
build:
context: /data
dockerfile: Dockerfile_v2
ports:
- “80:80”
networks:
- webnet
depends on: //redis에 의존
- redis
redis:
image: redis
ports:
- “6379:6379”
networks:
- webnet
app: # 내가 정의한 서비스 명임 .스프링부트 서버명을 이렇게 정의한다임
build:
context: ./aaa-discovery-api/ # Dockerfile이 있는 경로
dockerfile: Dockerfile # 파일명이 Dockerfile이 아닐 경우 파일명 기입
ports:
- 8080:8080 # 호스트 8080을 도커의 8080과 연결한다
depends_on:
- redis # 레디스나 엔진엑스 구동 후 app 서비스 실행하겠다.
- nginx
networks: # 우리 서비스는 하단으로 정의한 같은 네트워크로 통신한다
- webnet
# 네트워크 정의
networks:
webnet;
#데이터 볼륨 정의
volumes:
data-volume:
#호스트 머신포트:컨테이너 포트 or 컨테이너포트만 명시하면 호스트 포트는 랜덤값
ports:
-"3000"
-"8000:8000"
#호스트머신 포트 공개 안하고 링크 기능을 사용하여 연결하는 컨테이너에게만 포트 공개할땐 expose
expose:
- "3000"
- "8000"
3. docker-compose 명령어 예시
# 버전확인
docker-compose --version
# 컨테이너 로그 보기
docker-compose logs -f (옵션)
# 서비스 빌드
# 이미지 변경 또는 도커파일 변경 또는 빌드 디렉토리의 내용 변경시 꼭 build 넣어줘야함
docker-compose build
https://docs.docker.com/engine/reference/commandline/compose_build/
#여러 컨테이너 시작
#가능하면 위 이유로 --build 붙여주자. 안붙이면
# docker-compose up 옵션 서비스명
# docker-compose up --build
# -d 백그라운드 실행
docker-compose up -d
#컨테이너 확인
docker-compose ps
#컨테이너 정지
docker-compose stop
#리소스 삭제
docker-compose down
#여러 컨테이너 일괄삭제
docker-compose rm
#특정 컨테이너 조작
docker-compose stop webserver
#docker-compse.yml이 다른곳에 있을경우 실행방법
docker-compose -f ./해당경로/docker-compose.yml up
#컨테이너 생성개수 지정할때는 docker-compose up 명령에서 --scale 옵션을 사용
#docker-compose up --scale [서비스명=수]
#서버a의 컨테이너10개, 서버b의 컨테이너 20개 시작시키고 싶을때는 하단과 같이
docker-compose up --scale server_a=10 --scale server_b=20
docker-compose down; docker-compose up 연달아..
'프로그래밍 > Docker' 카테고리의 다른 글
Dockerfile (0) | 2020.05.06 |
---|---|
docker 명령어 (0) | 2020.05.05 |
도커란 무엇인가? (0) | 2020.05.05 |
Comments