docker로 rabbitmq 실행하고 서비스 확인하는 방법
-
rabbitmq 이미지 가져오기
- docker pull rabbitmq
-
실행
- docker run -d -p 30001:5672 -p 30002:15672 rabbitmq:3-management
- 매니지먼트 기능이 활성화된 tag로 실행
-
실행 확인
- docker ps
-
컨테이너에 접근
- docker exec -it 컨테이너ID /bin/bash
-
http://localhost:30002 에 접근해보기
- curl localhost:30002
- 서버가 기동될 때까지 몇 초 정도 걸림
-
rabbitmq는 30001 포트로 접근 가능
실행 중인 컨테이너의 포트를 노출하는 것은 일반적으로 가능하지 않고, Docker에서 권장하는 방법도 아님
docker run 명령의 -p 옵션으로 새로 컨테이너를 시작할 때 부여하는 방식이 권장됨
그러나 꼭 동적으로 포트를 노출하는 것이 필요하다면 docker run 명령의 실행 옵션으로 --net=host를 추가하는 방법이 있으나 macOS의 경우에는 호스트 위에 컨테이너가 실행되는 방식이 아니라 호스트 위에서 가상머신(리눅스)이 동작하고 컨테이너는 가상머신 위에서 동작하므로 이 옵션으로 기대하는 효과를 볼 수는 없음