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