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

 

相关文章

Docker是什么Docker是 Docker.Inc 公司开源的一个基于 LXC技...
本文为原创,原始地址为:http://www.cnblogs.com/fengzheng...
镜像操作列出镜像:$ sudo docker imagesREPOSITORY TAG IMA...
本文原创,原文地址为:http://www.cnblogs.com/fengzheng/p...
在 Docker 中,如果你修改了一个容器的内容并希望将这些更改...
在Docker中,--privileged 参数给予容器内的进程几乎相同的权...