RocketMq-dockerクラスタ化導入パッケージコマンドノート

1926 ワード

Dockerfileコマンド


Alpineを使用すると、ミラーパッケージのサイズを大幅に削減できます.プロファイルはファイルマウントで簡単に変更できます.
#
# 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.
#

# Start from a Java image.
FROM openjdk:8-jre-alpine

ARG version

# Rocketmq version
ENV ROCKETMQ_VERSION 4.2.0

# Rocketmq home
ENV ROCKETMQ_HOME  /opt/rocketmq-${ROCKETMQ_VERSION}



WORKDIR  ${ROCKETMQ_HOME}

RUN mkdir -p \
		/opt/logs \
	    /opt/store

COPY apache-rocketmq /opt/rocketmq-${ROCKETMQ_VERSION}


RUN chmod +x bin/mqbroker
# 
CMD cd ${ROCKETMQ_HOME}/bin && export JAVA_OPT=" -Duser.home=/opt" && sh mqbroker -c /opt/rocketmq/conf/broker-a.properties


EXPOSE 10909 10911
VOLUME /opt/logs \
		/opt/store


docker_ビルドコマンド

sudo docker build -t rocketmq-broker-a-m:4.2.0 .

docker_runコマンド


-v/root/conf:/opt/rocketmq/confコマンドでホスト「/root/conf」フォルダをコンテナの「/opt/rocketmq/conf」フォルダにマッピング
#!/bin/bash
sudo docker run -d -p 10911:10911 -p 10909:10909 -v /root/conf:/opt/rocketmq/conf -e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m -Xmn128m" --name rmqbroker_a_m rocketmq-broker-a-m:4.2.0