docker安装artemis

 

Dockerfile

# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

# ActiveMQ Artemis

FROM jboss/base-jdk:8
LABEL maintainer="Apache ActiveMQ Team"
# Make sure pipes are considered to determine success, see: https://github.com/hadolint/hadolint/wiki/DL4006
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
WORKDIR /opt

ENV ARTEMIS_USER artemis
ENV ARTEMIS_PASSWORD artemis
#是否允许匿名登录 ENV ANONYMOUS_LOGIN
false ENV EXTRA_ARGS --http-host 0.0.0.0 --relax-jolokia USER root ADD . /opt/activemq-artemis #解压 RUN tar -zxf /opt/activemq-artemis/apache-artemis-2.17.0-bin.tar.gz --strip-components 1 -C /opt/activemq-artemis/ # Web Server EXPOSE 8161 \ # JMX Exporter 9404 \ # Port for CORE,MQTT,AMQP,HORNETQ,STOMP,OPENWIRE 61616 \ # Port for HORNETQ,STOMP 5445 \ # Port for AMQP 5672 \ # Port for MQTT 1883 \ #Port for STOMP 61613 RUN mkdir /var/lib/artemis-instance && chmod 777 -R /var/lib/artemis-instance COPY docker-run.sh / # Expose some outstanding folders VOLUME ["/var/lib/artemis-instance"] WORKDIR /var/lib/artemis-instance ENTRYPOINT ["/docker-run.sh"] RUN ["chmod", "+x", "/docker-run.sh"] CMD ["run"]

 

 

docker-compose.yml

version: '3'
services:
  artemis:
    build:
      context: .
      dockerfile: Dockerfile
    restart: unless-stopped
    network_mode: "host"
    container_name: artemis
    privileged: true
    volumes:
    - /etc/localtime:/etc/localtime
    - /home/docker/artemis-instance:/var/lib/artemis-instance
    ports:
    - 1883:1883
    - 8161:8161
    - 8883:8883

 

 

docker-run.sh

#!/bin/bash
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.



# This is the entry point for the docker images.
# This file is executed when docker run is called.


set -e

BROKER_HOME=/var/lib/
CONFIG_PATH=$BROKER_HOME/etc
export BROKER_HOME OVERRIDE_PATH CONFIG_PATH

if [[ ${ANONYMOUS_LOGIN,,} == "true" ]]; then
  LOGIN_OPTION="--allow-anonymous"
else
  LOGIN_OPTION="--require-login"
fi

CREATE_ARGUMENTS="--user ${ARTEMIS_USER} --password ${ARTEMIS_PASSWORD} --silent ${LOGIN_OPTION} ${EXTRA_ARGS}"

echo CREATE_ARGUMENTS=${CREATE_ARGUMENTS}

if ! [ -f ./etc/broker.xml ]; then
    /opt/activemq-artemis/bin/artemis create ${CREATE_ARGUMENTS} .
else
    echo "broker already created, ignoring creation"
fi

exec ./bin/artemis "$@"

 

 

apache-artemis-2.17.0-bin.tar.gz 下载

https://yvioo.lanzouw.com/ix72lvv5ecd

 

把所有东西放在一个文件夹内

 

 

执行docker-compose up 即可

然后日志打印

 

 这个的web登录页面的用户名密码

 访问http://localhost:8161/

用户名密码都是artemis

 

posted @ 2021-10-28 13:18  yvioo  阅读(543)  评论(0编辑  收藏  举报