Cài đặt Apache ActiveMQ sử dụng Docker Compose

Apache ActiveMQ không có official Docker Image nên các bạn có thể sử dụng một Docker Image ở địa chỉ https://hub.docker.com/r/symptoma/activemq. Docker Image này đã được cập nhập tới latest version của Apache ActiveMQ!

Nội dung của tập tin docker-compose.yaml của chúng ta để cài đặt ActiveMQ với Docker Compose sẽ như sau:

Một lưu ý với các bạn là từ phiên bản 5.16.0, mặc định thì WebConsole của ActiveMQ không được expose cho bên ngoài access, nên ở đây mình chỉ expose port 61616 của ActiveMQ server mà thôi! 2 thư mục bên trong container của ActiveMQ cũng được mount ra các thư mục bên ngoài để chúng ta dễ dàng làm việc với nó.

Kết quả khi chạy command “docker compose up” trong thư mục chứa tập tin docker-compose.yaml với nội dung trên như sau:

Như vậy là chúng ta đã start được một ActiveMQ server cùng với WebConsole rồi đó các bạn!

Nếu các bạn muốn expose WebConsole cho bên ngoài access thì có thể customize tập tin Dockerfile tại https://github.com/symptoma/activemq/blob/master/Dockerfile. Đây là Dockerfile được sử dụng để build Docker Image mà mình đang sử dụng ở trên.

Trước tiên, các bạn hãy download latest version của ActiveMQ tại địa chỉ https://activemq.apache.org/components/classic/download/. Extract tập tin download ra, tìm dòng sau trong tập tin /conf/jetty.xml trong thư mục đã extract:

đổi giá trị của property host thành 0.0.0.0:

sau đó thì copy tập tin jetty.xml này vào cùng thư mục với tập tin Dockerfile trên.

Đối với tập tin Dockerfile thì các bạn hãy thêm dòng sau để override tập tin jetty.xml của ActiveMQ trong Docker Container khi chạy nó lên:

rồi chạy Docker build command để build Docker Image từ tập tin Dockerfile này:

Kết quả:

Sau khi đã có Docker Image, chúng ta sẽ modify tập tin docker-compose.yaml ở trên để change Docker Image name và expose port của WebConsole như sau:

và chạy lại command “docker compose up”:

Bây giờ thì các bạn có thể access tới ActiveMQ WebConsole sử dụng địa chỉ http://localhost:8161/:

Đăng nhập với username và password là admin, các bạn sẽ thấy kết quả như sau:

Add Comment