RocketMQ-dockefile制作镜像过程(一学就废)

这篇具有很好参考价值的文章主要介绍了RocketMQ-dockefile制作镜像过程(一学就废)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

下载rockermq包:
https://rocketmq.apache.org/zh/download/
RocketMQ-dockefile制作镜像过程(一学就废),centos,docker
source开源和binary二进制安装

RocketMQ-dockefile制作镜像过程(一学就废),centos,docker
开始编写rmqnamesrv的dockerfile

FROM java:openjdk-8u111-alpine
ENV ROCKETMQ_VERSION 5.1.3
ENV ROCKETMQ_HOME /opt/rocketmq-${ROCKETMQ_VERSION}
WORKDIR ${ROCKETMQ_HOME}
RUN set -x && rm -f /etc/localtime && ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone
ADD bin ${ROCKETMQ_HOME}/bin
ADD conf ${ROCKETMQ_HOME}/conf
ADD lib ${ROCKETMQ_HOME}/lib
RUN mkdir -p /opt/logs /opt/store
VOLUME /opt/logs /opt/store
EXPOSE 9876
RUN  chmod +x /opt/rocketmq-5.1.3/bin/mqnamesrv
CMD cd ${ROCKETMQ_HOME}/bin && export JAVA_OPT="-Duser.home=/opt -Xms512M -Xmx512M -Xmn128m " && sh mqnamesrv

开始编写rmqbroker的dockerfile

FROM java:openjdk-8u111-alpine
ENV ROCKETMQ_VERSION 5.1.3
ENV ROCKETMQ_HOME /opt/rocketmq-${ROCKETMQ_VERSION}
WORKDIR ${ROCKETMQ_HOME}
RUN set -x && rm -f /etc/localtime && ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone
ADD bin ${ROCKETMQ_HOME}/bin
ADD conf ${ROCKETMQ_HOME}/conf
ADD lib ${ROCKETMQ_HOME}/lib
RUN mkdir -p /opt/logs /opt/store
VOLUME /opt/logs /opt/store
EXPOSE 10909 10911
RUN chmod +x bin/mqbroker
CMD cd ${ROCKETMQ_HOME}/bin && export JAVA_OPT="-Duser.home=/opt -server -Xms512M -Xmx512M -Xmn128m" && sh mqbroker -n ${NAMESRV_ADDR} -c ../conf/broker.conf

生成镜像

docker build -f 指定你编写的dockerfile文件 -t 镜像name:版本 .

查看我实验生成的images
RocketMQ-dockefile制作镜像过程(一学就废),centos,docker
命令启动rockermq服务
这里NAMESRV_ADDR=1.1.1.1:9876是需要指定你安装的rmqnamesrv的ip+端口,-v挂载的日志以及对于的配置。

docker run -d -p 9876:9876 --name rmqnamesrv --restart=always rocketmq-namesrv:5.1.3

docker run -d -p 10911:10911 -p 10909:10909 --name rmqbroker --restart=always  -e "NAMESRV_ADDR=1.1.1.1:9876"  -v /opt/rocketmq/logs:/opt/logs -v /opt/rocketmq/store:/opt/store -v /home/conf/brocker.conf:/opt/rocketmq-5.1.3/conf/brocker.conf --link rmqnamesrv

对应brocker的配置文件:

brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
brokerIP1=1.1.1.1 #配置服务器ip
autoCreateTopicEnable=true

问题点:
如果容器启动,查看日志发现是killed的情况,说明你的运行空间不够!要限制服务的内存使用! 实验是加了8g内存去验证的

说明我们JAVA_OPTS 指定没有生效!
解决方案启动容器限制一下:

-e JAVA_OPT_EXT = -server -Xms128m -Xmx128m -Xmn128m

docker-compose启动

  rmqnamesrv:
    restart: always
    image: rmqnamesrv:5.1.3
    container_name: rmqnamesrv
    ports:
      - 9876:9876
    environment:
      JAVA_OPT_NXT: "-Duser.home=/opt -Xms512M -Xmx512M -Xmn128m"
  rmqbroker:
    restart: always
    image: rmqbroker:5.1.3
    container_name: rmqbroker
    ports:
      - 10909:10909
      - 10911:10911
    volumes:
      - /home/rocketmq/logs:/opt/logs
      - /home/rocketmq/store:/opt/store
      - /home/rocketmq/conf/broker.conf:/opt/rocketmq-5.1.3/conf/broker.conf
    environment:
        NAMESRV_ADDR: "rmqnamesrv:9876"
        JAVA_OPT_EXT: "-Duser.home=/opt -server -Xms512M -Xmx512M -Xmn128m"
    depends_on:
      - rmqnamesrv

没有限制前:
RocketMQ-dockefile制作镜像过程(一学就废),centos,docker
限制后:
RocketMQ-dockefile制作镜像过程(一学就废),centos,docker文章来源地址https://www.toymoban.com/news/detail-682321.html

到了这里,关于RocketMQ-dockefile制作镜像过程(一学就废)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker || nginx镜像制作

        1.以centos7作为基础镜像     2.安装好ip,vim,ping命令     3.编译安装nginx(编写脚本)     4.使用指定的配置文件nginx.conf       5.启动容器的时候启动nginx     6.网站的网页上传到容器里:              1.直接做到镜像里             2.使用数据卷挂载使

    2024年02月08日
    浏览(52)
  • window镜像制作

    前期准备 1:准备一台装有windowserver2019的系统 2:开启Hyper-V服务 3:安装docker powerShell运行以下命令 编译工具所需要的依赖 编译所需要的windowserver-vs2019镜像 第一次编译镜像 1:创建 install.cmd 文件 2: 创建dockerfile文件 注:第一次只安装部分依赖,全部添加上会报错 3:编译 大

    2024年02月16日
    浏览(33)
  • 多架构Docker镜像制作

    从https://github.com/docker/buildx/releases网站下载二进制文件到本地并重命名为docker-buildx,移动到 docker 的插件目录 ~/.docker/cli-plugins。 增加可执行权限:

    2024年02月13日
    浏览(61)
  • docker制作镜像

    docker制作镜像有两种: 1.docker  build dockerfile  2.基于容器制作镜像 语法:docker  commit   options  容器名称 参数: -a:作者 -c:修改dockfile创建的镜像 -m:提交信息 -p:在提交期间暂停容器  例子: 一台主机可以有多个dockerfile,并且dockerfile中涉及的文件需要和当前dockerfile同

    2024年02月14日
    浏览(48)
  • docker 镜像的制作

    本文主要介绍镜像制作,以及周边比如镜像支持中文等问题 将本机系统里主要文件打成tar 包,然后编写dockerfile.txt 文件,最后docker build,以下以centos 7.9 为例 2.1.1 制作tar 包 2.1.2 编写dockerfile.txt 可以借鉴dockerhub 官网的的dockerfile 2.1.3 制作docker image centos79dockerfile.txt 跟systemcent

    2024年02月09日
    浏览(59)
  • Docker制作SpringBoot镜像

    Dcokerfile目录 编写Dockerfile 在dockerfile中,声明了操作系统的环境变量,暴露了端口号,用CMD命令指定容器启动后的命令,这里是启动jar包。 注意: CMD 命令不要写在一个字符串中,而是要以数组的形式分开写。 镜像构建 docker build -t app:1.0 . 查看镜像 这些镜像名和标签名都是

    2024年02月14日
    浏览(51)
  • docker镜像制作

    FROM:指定构建使用的基础镜像,FROM命令必须写在其他的指令前 MAINTAINER:用于为Dockerfile署名 ADD:复制文件并解压到镜像中的指定位置 ENV:设置镜像中的环境变量 COPY:类似于ADD,将CentOS7中的文件赋值到镜像中的某个位置 RUN:普通命令,后面紧跟具体的操作指令 EXPOSE:声明

    2023年04月22日
    浏览(37)
  • Docker镜像与制作

    Docker镜像是没有内核的,镜像在启动为容器后将直接使用宿主机的内核。 Docker镜像的制作分为了手动制作和自动制作(基于DockerFile) 先准备一个目录, 编写Dockerfile文件 在该目录下编写nginx.conf文件 构建docker镜像: -f 后跟Dockerfile所在的路径 -t 后跟构建的镜像名 :v1 表示版本

    2024年02月04日
    浏览(43)
  • Docker——如何自定义镜像【将自己的项目制作成镜像】?

    目录 前言:我们以前是如何部署项目的? 1、镜像由哪几部分构成的 2、如何手动自定义一个镜像 2.1、Dockerfile 2.2、dockerfile文本文件中,最终要写什么? 2.3、构建镜像 3、案例:部署java项目 4、如何与其他容器相互访问,例如:java项目镜像创建的容器与mysql容器相互访问 4.

    2024年02月04日
    浏览(70)
  • Dockerfile制作Nginx应用镜像

    创建Dockerfile 创建镜像 上传镜像-harbor 修改hosts文件 修改daemon.json 重启DOCKER 登录并上传 测试镜像

    2024年02月12日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包