Compose file
- 구성
- version
- services
- 실행할 컨테이너들을 정의
- image
- 컨테이너를 생성할 때 사용할 이미지
- build
- 도커파일로부터 이미지를 빌드
- context
- Dockerfile이 있는 위치
- environment
- 환경 변수 설정
- command
- 컨테이너가 실행될 때 수행할 명령어
- depends_on
- 명시된 컨테이너가 먼저 생성되고 실행
- ports
- 개방할 포트 지정
- expose
- 링크로 연계된 컨테이너에게만 공개할 포트 설정
- volumes
- 컨테이너에 볼륨 마운트
- restart
- 컨테이너가 종료될 때 재시작하는 방법
- no
- 재시작 x
- always
- 항상 재시작
- on-failure
- 오류가 있을 때 재시작
- network
- volume
- config
- secret
Compose file 예시
version: '3'
services:
spring-boot:
restart: 'on-failure'
build: .
ports:
- '8000:8000'
mysql:
image: mysql:5.7
ports:
- "3306:3306"
volumes:
- auth-mysql-vol:/var/lib/mysql
env_file:
- .env
restart: always
redis:
image: redis:latest
ports:
- "6379:6379"
volumes:
- auth-redis-vol:/var/lib/redis
restart: always
volumes:
auth-mysql-vol:
auth-redis-vol:
Docker Compose 명령어
docker-compose -f {도커 컴포즈 파일} up -d
up 도커 컴포즈 파일로 컨테이너를 생성
-f 도커 컴포즈 파일 지정
-d 백그라운드에 실행
docker-compose up --build
도커 이미지 빌드 후 컨테이너 실행
--build는 캐싱된 이미지를 확인하지 않고 다시 빌드
docker-compose down
실행 중인 컨테이너 중지하고 삭제
docker-compose restart
컨테이너 다시 시작
Ubuntu에 Docker Compose 설치
sudo apt-get update
sudo apt-get install docker-compose-plugin
docker compose version
버전까지 뜨면 성공이다.
sudo apt install docker-compose
docker compose 실행 시 에러가 떠서 이거까지 설치하니 해결함
참고 👇
https://docs.docker.com/compose/gettingstarted/
https://docs.docker.com/compose/install/linux/
https://docs.docker.com/compose/compose-file/build/
반응형
'DevOps > Docker' 카테고리의 다른 글
COPY ${JAR_FILE} app.jarWhen using COPY with more than one source file, the destination must be a directory and end with a / (0) | 2023.05.05 |
---|---|
[Error] docker endpoint for "default" not found (0) | 2023.05.02 |
Docker (0) | 2023.04.19 |
Dockerfile (0) | 2022.04.25 |
Docker 실행 시 환경 변수 옵션 주기(feat. Jasypt) (0) | 2022.04.15 |