Dockerize ActiveMQ
This commit is contained in:
parent
44cf422960
commit
daa2948e21
15
activemq.sh
Executable file
15
activemq.sh
Executable file
@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
SOURCE_DIR=$(realpath $(dirname "${0}"))/activemq
|
||||||
|
|
||||||
|
# Build Docker container
|
||||||
|
docker build -t activemq ${SOURCE_DIR}
|
||||||
|
|
||||||
|
# Configure ActiveMQ
|
||||||
|
mkdir -p /srv/activemq/data
|
||||||
|
chown -R 61616:61616 /srv/activemq/data
|
||||||
|
|
||||||
|
# Configure Solr service
|
||||||
|
cp ${SOURCE_DIR}/etc/init.d/activemq /etc/init.d/activemq
|
||||||
|
rc-update add activemq boot
|
||||||
|
service activemq start
|
33
activemq/Dockerfile
Normal file
33
activemq/Dockerfile
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
FROM alpine:3.7
|
||||||
|
MAINTAINER Disassembler <disassembler@dasm.cz>
|
||||||
|
|
||||||
|
RUN \
|
||||||
|
# Install Java 1.8 JRE
|
||||||
|
apk --no-cache add openjdk8-jre-base paxctl \
|
||||||
|
# Fix grsec attributes to loosen memory protection restrictions
|
||||||
|
&& paxctl -cm /usr/lib/jvm/java-1.8-openjdk/jre/bin/java \
|
||||||
|
&& paxctl -cm /usr/lib/jvm/java-1.8-openjdk/bin/java \
|
||||||
|
# Cleanup
|
||||||
|
&& apk del paxctl
|
||||||
|
|
||||||
|
RUN \
|
||||||
|
# Download and install ActiveMQ
|
||||||
|
wget http://archive.apache.org/dist/activemq/5.15.2/apache-activemq-5.15.2-bin.tar.gz -O /tmp/activemq.tgz \
|
||||||
|
&& tar xf /tmp/activemq.tgz -C /srv \
|
||||||
|
&& mv /srv/apache-activemq-5.15.2 /srv/activemq \
|
||||||
|
&& rm -f /tmp/activemq.tgz \
|
||||||
|
# Create OS user
|
||||||
|
&& addgroup -S -g 61616 activemq \
|
||||||
|
&& adduser -S -u 61616 -h /srv/activemq -s /bin/false -g activemq -G activemq activemq \
|
||||||
|
&& mkdir /srv/activemq/tmp \
|
||||||
|
&& chown activemq:activemq /srv/activemq/tmp \
|
||||||
|
# Configure Java heap size
|
||||||
|
&& sed -i "s/-Xms64M -Xmx1G/-Xms32M -Xmx256M/" /srv/activemq/bin/env \
|
||||||
|
# Make start/stop script visible globally
|
||||||
|
&& ln -s /srv/activemq/bin/activemq /usr/local/bin/activemq
|
||||||
|
|
||||||
|
VOLUME ["/srv/activemq/data"]
|
||||||
|
EXPOSE 61616
|
||||||
|
|
||||||
|
USER activemq
|
||||||
|
CMD ["activemq", "console"]
|
16
activemq/etc/init.d/activemq
Executable file
16
activemq/etc/init.d/activemq
Executable file
@ -0,0 +1,16 @@
|
|||||||
|
#!/sbin/openrc-run
|
||||||
|
|
||||||
|
description="ActiveMQ docker container"
|
||||||
|
|
||||||
|
depend() {
|
||||||
|
need docker net
|
||||||
|
use dns logger netmount
|
||||||
|
}
|
||||||
|
|
||||||
|
start() {
|
||||||
|
/usr/bin/docker run -d --rm --name activemq -h activemq -v /srv/activemq/data:/srv/activemq/data activemq
|
||||||
|
}
|
||||||
|
|
||||||
|
stop() {
|
||||||
|
/usr/bin/docker stop activemq
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user