일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 프로그래머스
- docker
- Spring
- OperationalError
- classmethod
- 재귀함수가 뭔가요
- Django
- javascript
- MySQL server on 'db' (115)
- depends_on
- github skyline
- python all testcode
- AWS S3
- 2차 코딩테스트
- python
- TypeError: 'property' object is not iterable
- 우아한테크코스 2차
- springboot 3.0.0
- METACLASS
- classproperty
- docker-compose
- EC2
- depends
- DB
- 갓재석
- 코딩테스트
- github
- S3
- AWS
- 우아한 테크코스 2차 합격
Archives
hanbin.dev
[docker] RabbitMQ Docker Compose로 띄우기 본문
version: '3'
services:
rabbitmq:
image: rabbitmq:3-management-alpine
container_name: rabbitmq-stream
volumes:
- ./.docker/rabbitmq/etc/:/etc/rabbitmq/
- ./.docker/rabbitmq/data/:/var/lib/rabbitmq/
- ./.docker/rabbitmq/logs/:/var/log/rabbitmq/
ports:
- "5672:5672"
- "15672:15672"
environment:
RABBITMQ_ERLANG_COOKIE: "RabbitMQ-My-Cookies"
RABBITMQ_DEFAULT_USER: "admin"
RABBITMQ_DEFAULT_PASS: "rabbitpassword"
docker-compose.yml
파일은 위와 같다. 옵션별로 무엇을 의미하는지 알아보자
image: rabbitmq:3-management-alpine
rabbitmq 이미지중에 3-management-alpine
버전을 선택하겠다는 의미이다. 3-management-alpine
버전은 두가지 특징이 있다
management
: 관리자 UI를 사용할 수 있게 해주는management plugin
이 설치되어 있는 이미지이다. 기본 관리자 username/passwd 는 guest/guest 이다alpine
: 경량 리눅스 배포판 이미지, 사용하는 이유는 링크에 자세히 설명되어 있다.
volumes:
- ./.docker/rabbitmq/etc/:/etc/rabbitmq/
- ./.docker/rabbitmq/data/:/var/lib/rabbitmq/
- ./.docker/rabbitmq/logs/:/var/log/rabbitmq/
volumes
는 도커 컨테이너는 실행 후 컨테이너를 삭제하면 존재하던 데이터가 모두 사라지게 되기 때문에 마운트를 해주는데, 이에 필요한 옵션이다.
만약 ./.docker/rabbitmq/etc/:/etc/rabbitmq/
이라면 로컬의 ./.docker/rabbitmq/etc/
디렉토리를 컨테이너의 /etc/rabbitmq/
디렉토리와 마운트 하겠다는 의미이다.
한줄 한줄 마운트한 이유를 설명하자면
./.docker/rabbitmq/etc/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf
: RabbitMQ configuration 파일을 설정하기 위함./.docker/rabbitmq/data/:/var/lib/rabbitmq/
: RabbitMQ 데이터에 접근하기 위함./.docker/rabbitmq/logs/:/var/log/rabbitmq/
: RabbitMQ 로그에 접근하기 위함
environment:
RABBITMQ_ERLANG_COOKIE: "RabbitMQ-My-Cookies"
RABBITMQ_DEFAULT_USER: "admin"
RABBITMQ_DEFAULT_PASS: "rabbitpassword"
컨테이너 내부의 환경 변수를 설정하는 옵션이다.
RABBITMQ_ERLANG_COOKIE
: RabbitMQ 클러스터를 구성할 때 노드끼리 동일하게 맞춰줘야 하는 값RABBITMQ_DEFAULT_USER
: management UI 에서 로그인 usernameRABBITMQ_DEFAULT_PASS
: management UI 에서 로그인 password
ref.
https://zgadzaj.com/development/docker/docker-compose/containers/rabbitmq