Software Workshop

docker로 rabbitmq 실행하고 서비스 확인하는 방법

  1. rabbitmq 이미지 가져오기

    1. docker pull rabbitmq
  2. 실행

    1. docker run -d -p 30001:5672 -p 30002:15672 rabbitmq:3-management
    2. 매니지먼트 기능이 활성화된 tag로 실행
  3. 실행 확인

    1. docker ps
  4. 컨테이너에 접근

    1. docker exec -it 컨테이너ID /bin/bash
  5. http://localhost:30002 에 접근해보기

    1. curl localhost:30002
    2. 서버가 기동될 때까지 몇 초 정도 걸림
  6. rabbitmq는 30001 포트로 접근 가능

실행 중인 컨테이너의 포트를 노출하는 것은 일반적으로 가능하지 않고, Docker에서 권장하는 방법도 아님

docker run 명령의 -p 옵션으로 새로 컨테이너를 시작할 때 부여하는 방식이 권장됨

그러나 꼭 동적으로 포트를 노출하는 것이 필요하다면 docker run 명령의 실행 옵션으로 --net=host를 추가하는 방법이 있으나 macOS의 경우에는 호스트 위에 컨테이너가 실행되는 방식이 아니라 호스트 위에서 가상머신(리눅스)이 동작하고 컨테이너는 가상머신 위에서 동작하므로 이 옵션으로 기대하는 효과를 볼 수는 없음