docker中间件启动命令大全(持续更新)

news/发布时间2024/5/15 5:40:59

文章目录

  • 启动mysql
  • 启动Gitlab容器
  • 启动nacos
  • 启动redis
  • 启动xxljob
  • 启动zipkin
  • 启动sentinel
  • 启动seata
  • 启动Rockermq
    • 启动Rockermq-namesrv
    • 启动Rockermq-broker
    • 启动Rockermq-console
  • 启动Jenkins
  • 启动Oracle
      • 创建drp项目的表空间
      • 指定用户的表空间
      • 给用户授权
  • 启动zookeeper
  • 启动kafka
      • 验证kafka是否可以使用
      • 常用命令
    • 启动kafka管理平台
  • 启动rabbitMQ
      • 创建用户
  • 启动ES
      • 关闭身份验证
      • 验证
      • 在线安装IK分词器(版本要和es一致)

启动mysql

sudo docker run \
-d \
-p 3306:3306 \
-v /usr/local/mysql/log:/var/log/mysql \
-v /usr/local/mysql/data:/var/lib/mysql \
-v /usr/local/mysql/conf:/etc/mysql \
-v /etc/localtime:/etc/localtime:ro \
-e MYSQL_ROOT_PASSWORD=xxxxx \
--restart always \
--name mysql \
mysql:5.6.47

-p 3306:3306:指定宿主机端口与容器端口映射关系
–name mysql:创建的容器名称
–restart=always:总是跟随docker启动
–privileged=true:获取宿主机root权限
-v /usr/local/mysql/log:/var/log/mysql:映射日志目录,宿主机:容器
-v /usr/local/mysql/data:/var/lib/mysql:映射数据目录,宿主机:容器
-v /usr/local/mysql/conf:/etc/mysql:映射配置目录,宿主机:容器
-v /etc/localtime:/etc/localtime:ro:让容器的时钟与宿主机时钟同步,避免时区的问题,ro是read only的意思,就是只读。
-e MYSQL_ROOT_PASSWORD=123456:指定mysql环境变量,root用户的密码为123456
-d mysql:latest:后台运行mysql容器,版本是latest。


启动Gitlab容器

sudo docker run \
-itd \
-p 9980:80 \
-p 9922:22 \
-v /usr/local/Gitlab/etc:/etc/gitlab \
-v /usr/local/Gitlab/log:/var/log/gitlab \
-v /usr/local/Gitlab/opt:/var/opt/gitlab \
--restart always \
--privileged=true \
--name gitlab \
gitlab/gitlab-ce

在这里插入图片描述


启动nacos

docker run \--name nacos \-d \-p 8848:8848 \-p 9848:9848 \-p 9849:9849 \--restart=always \-e JVM_XMS=256m \-e JVM_XMX=256m \-e MODE=standalone \-v /usr/local/nacos/logs:/home/nacos/logs \-v /usr/local/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \nacos/nacos-server:v2.1.0

没有开鉴权的nacos:
在这里插入图片描述


启动redis

docker run \
--restart=always \
--log-opt max-size=100m \
--log-opt max-file=2 \
-p 6379:6379 \
--name redis \
-v /usr/local/redis/redis.conf:/etc/redis/redis.conf \
-v /usr/local/redis/data:/data \
-d redis:5.0.7 \
redis-server /etc/redis/redis.conf \
--appendonly yes \
--requirepass 000000

–restart=always 总是开机启动
–log是日志方面的
-p 6379:6379 将6379端口挂载出去
–name 给这个容器取一个名字
-v 数据卷挂载
/home/redis/myredis/myredis.conf:/etc/redis/redis.conf 这里是将 liunx 路径下的myredis.conf 和redis下的redis.conf 挂载在一起。
/home/redis/myredis/data:/data 这个同上
-d redis:版本号 表示后台启动哪个版本的redis
redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录 /etc/redis/redis.conf 也就是liunx下的/home/redis/myredis/myredis.conf
–appendonly yes 开启redis 持久化
–requirepass 000415 设置密码 (如果你是通过docker 容器内部连接的话,就随意,可设可不设。但是如果想向外开放的话,一定要设置


启动xxljob

docker run \
-e PARAMS="--spring.datasource.url=jdbc:mysql://xxx.xxx.xxx.xxx:3306/xxl_job_dev?Unicode=true&characterEncoding=UTF-8 \
--spring.datasource.username=xxljob \
--spring.datasource.password=xxljob" \
-p 8080:8080 \
-v /tmp:/data/applogs \
--name xxl-job-admin \
--restart=always \
-d xuxueli/xxl-job-admin:2.3.1

启动zipkin

docker run \
-e PARAMS="--spring.datasource.url=jdbc:mysql://xxx.xxx.xxx.xxx:3306/zipkin?Unicode=true&characterEncoding=UTF-8 \
--spring.datasource.username=root \
--spring.datasource.password=123456" \
-p 9411:9411 \
--name zipkin \
--restart=always \
-d openzipkin/zipkin:2.12.9

启动sentinel

docker run \
--name sentinel \
--restart=always \
-p 8858:8858 \
-v /usr/local/sentinel_home:/home/sentinel_home \
-d bladex/sentinel-dashboard:1.8.0 

启动seata

docker run \
-d \
--restart always  \
--name  seata-server \
-p 8091:8091  \
-v /usr/local/seata:/seata-server \
seataio/seata-server:1.5.1

配置文件:/usr/local/seata/resources/application.yml

安装文档


启动Rockermq

安装文档

启动Rockermq-namesrv

docker run \
-d \
--name rocketmq-namesrv \
--network rocketmq \
--restart=always \
-p 9876:9876 \
-v /usr/local/rocketmq/namesrv/logs:/root/logs \
-v /usr/local/rocketmq/namesrv/store:/root/store \
apache/rocketmq:4.9.3 sh \
mqnamesrv 

配置文件路径: /usr/local/rocketmq/broker/conf/broker.conf

启动Rockermq-broker

docker run \
-d \
--name rocketmq-broker \
--network rocketmq \
--restart=always \
-p 10909:10909 \
-p 10911:10911 \
-v /usr/local/rocketmq/broker/logs:/root/logs \
-v /usr/local/rocketmq/broker/store:/root/store \
-v /usr/local/rocketmq/broker/conf:/home/rocketmq/rocketmq-4.9.3/conf \
-e "JAVA_OPT_EXT=-server -Xms256m -Xmx700m" apache/rocketmq:4.9.3 sh mqbroker \
-c /usr/local/rocketmq/broker/conf/broker.conf 

不指定内存:(-e那行换成如下)
apache/rocketmq:4.9.3 sh mqbroker

启动Rockermq-console

docker run \
-d \
--name rocketmq-console \
--network rocketmq \
-e "JAVA_OPTS=-Drocketmq.namesrv.addr=rocketmq-namesrv:9876 \
-Dcom.rocketmq.sendMessageWithVIPChannel=false" \
-p 8000:8080 \
--restart=always \
apacherocketmq/rocketmq-dashboard:latest

启动Jenkins

docker run \
-itd \
--name jenkins \
-p 8829:8080 \
-p 50000:50000 \
--restart always \
-e JAVA_OPTS=-Duser.timezone=Asia/Shanghai -v /usr/soft/jenkins_home:/var/jenkins_home \
//-v  /usr/local/maven/apache-maven-3.6.3:/usr/local/maven \
-v /etc/localtime:/etc/localtime \
jenkinszh/jenkins-zh

启动Oracle

docker run \
-d \
-p 1521:1521 \
--name oracle11g \
registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g \
-v /usr/local/oracle/product/11.2.0/dbhome_2:/home/oracle/app/oracle/product/11.2.0/dbhome_2
  1. 查看容器启动状态: docker ps | grep oracle11g
  2. 进入oracle11g容器进行配置: docker exec -it oracle11g bash
  3. 切换到root用户下进行配置: su root 输入密码: helowin
  4. 编辑profile文件配置ORACLE环境变量: vi /etc/profile ,并添加如下内容, 保存退出后使配置生效 source /etc/profile
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH
  1. 创建软连接: ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
  2. 切换到oracle 用户: su - oracle
  3. 登录sqlplus并修改sys、system用户密码:
sqlplus /nolog	# 登录
conn /as sysdba # 连接
alter user system identified by system; # 修改system密码为system
alter user sys identified by sys; # 修改sys密码为sys
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
exit;

查看一下oracle实例状态: lsnrctl status
在这里插入图片描述

创建drp项目的表空间

su - oracle

CREATE TABLESPACE ts_drp1 --表空间名
DATAFILE '/home/oracle/datafile/drp1-data.dbf' --表空间对应的数据文件
SIZE 100M --数据文件大小
AUTOEXTEND ON NEXT 10M --数据文件不够用自动扩展,每次扩展大小
MAXSIZE 1000M --数据文件最大文件大小
LOGGING --启动重做日志
PERMANENT --指定表空间为永久性的表空间
EXTENT MANAGEMENT LOCAL AUTOALLOCATE --指定新建表空间为本地管理方式的表空间
//BLOCKSIZE 16K --块大小
SEGMENT SPACE MANAGEMENT auto --指定本地管理表空间中段的存储管理方式,AUTO自动,MANUAL手工。

指定用户的表空间

create user drp1 IDENTIFIED by drp1; //创建用户
alter user drp1 default tablespace ts_drp1; //指定用户的表空间
select username,DEFAULT_TableSpace from dba_users;//查看结果

给用户授权

grant create session, create table, create view, unlimited tablespace to drp1;

启动zookeeper

注意:localtime是个文件,不是目录

docker run \
-d \
--restart=always \
--log-driver json-file \
--log-opt max-size=100m \
--log-opt max-file=2  \
--name zookeeper \
-p 2181:2181 \
-v /usr/local/zookeeper/etc/localtime:/etc/localtime \
wurstmeister/zookeeper

启动kafka

docker run \
-d \
--restart=always \
--log-driver json-file \
--log-opt max-size=100m \
--log-opt max-file=2 \
--name kafka \
-p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=xxx.xxx.xxx.xxx:2181/kafka \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://xxx.xxx.xxx.xxx:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-v /usr/local/kafka/etc/localtime:/etc/localtime \
wurstmeister/kafka

参数说明:

-e KAFKA_BROKER_ID=0 :在kafka集群中,每个kafka都有一个BROKER_ID来区分自己
-e KAFKA_ZOOKEEPER_CONNECT=192.168.244.132:2181/kafka :配置zookeeper管理kafka的路径172.16.0.13:2181/kafka
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.244.132:9092 :把kafka的地址端口注册给zookeeper,如果是远程访问要改成外网IP,类如Java程序访问出现无法连接。
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 :配置kafka的监听端口
-v /etc/localtime:/etc/localtime :容器时间同步虚拟机的时间

验证kafka是否可以使用

  1. 进入容器:docker exec -it kafka bash
  2. 进入 /opt/kafka_2.12-2.3.0/bin/ 目录下:cd /opt/kafka_2.13-2.8.1/bin/
  3. 运行kafka生产者发送消息:./kafka-console-producer.sh --broker-list localhost:9092 --topic sun
  4. 发送消息: {“datas”:[{“channel”:“”,“metric”:“temperature”,“producer”:“ijinus”,“sn”:“IJA0101-00002245”,“time”:“1543207156000”,“value”:“80”}],“ver”:“1.0”}
  5. 打开新窗口,运行kafka消费者接收消息:./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic sun --from-beginning
    执行完上诉命令后,在生产者窗口中 输入任意内容回车,即可在消费者的窗口查看到消息

常用命令

查看消息主题列表:./kafka-topics.sh --list --zookeeper zookeeper:2181
查看指定topic信息:./kafka-topics.sh --describe --zookeeper zookeeper:2181
–topic test

启动kafka管理平台

docker pull docker.io/sheepkiller/kafka-manager

docker run \
-it \
-d \
--rm \
-p 9000:9000 \
-e ZK_HOSTS="120.53.12.20:2181" \
--net=host \
sheepkiller/kafka-manager

启动rabbitMQ

docker run \
--name some-rabbitmq \
-p 5672:5672 \
-p 15672:15672 \
-d rabbitmq:3.12-management

创建用户

docker exec -it some-rabbitmq /bin/bash
rabbitmqctl add_user admin admin
rabbitmqctl  set_user_tags admin administrator

5671端口:安全的AMQP端口,使用TLS/SSL进行加密通信。 5672端口:AMQP(Advanced Message Queuing
Protocol)协议的默认端口,用于客户端与RabbitMQ服务器之间的通信。
15672端口:RabbitMQ的管理界面,默认使用HTTP协议,用于监控和管理RabbitMQ服务器。

管理页面:http://xxx.xxx.xxx.xxx:15672/
账号/密码:admin

启动ES

版本还是低点好

docker run -d \
--restart=always \
--name es \-p 9200:9200 \
-p 9300:9300 \
--privileged \
-v /usr/local/es/data:/usr/share/elasticsearch/data \
-v /usr/local/es/plugins:/usr/share/elasticsearch/plugins \
-e "discovery.type=single-node" \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
elasticsearch:6.4.3

关闭身份验证

进入容器,输入以下命令:
cd config/
echo “xpack.security.enabled: false” >> elasticsearch.yml

验证

输入网址:xxx.xxx.xxx.xxx:9200
显示以下内容就成功了
在这里插入图片描述

在线安装IK分词器(版本要和es一致)

docker exec -it es /bin/bash

./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.4.3/elasticsearch-analysis-ik-6.4.3.zip

./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-pinyin/releases/download/v6.4.3/elasticsearch-analysis-pinyin-6.4.3.zip

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.bcls.cn/uENX/9319.shtml

如若内容造成侵权/违法违规/事实不符,请联系编程老四网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

c# 异常处理

异常类 .NET Framework 类库中的所有异常都派生于 Exception 类,异常包括系统异常和应用异常。 默认所有系统异常派生于 System.SystemException,所有的应用程序异常派生于 System.ApplicationException。 系统异常一般不可预测,比如内存堆…

XSS原理和攻防

Cross Site Scripting:跨站脚本攻击 用户提交的数据中可以构造恶意代码,并且执行,从而实现窃取用户信息等攻击 攻击: 防御: 1.对输入进行过滤,对输出进行编码 2.cookie设置http-only

Docker入门

目录 一.Docker简介 二.CentOS 7 安装Docker 2.1环境配置 2.2阿里云镜像仓库配置 三.Docker常用命令 3.1基本命令 3.2镜像命令 3.3容器命令 一.Docker简介 总的来说,Docker就是新一代虚拟化技术。能够最大程度的利用系统资源。 Docker 是一个开源的应用容器引擎&…

Qt中关于信号与槽函数的思考

信号与槽函数的思考 以pushbutton控件为例,在主界面上放置一个pushbutton控件,点击右键选择关联槽函数,关联一个click函数,如下图所示: 在该函数中,实现了一个点击pushbutton按钮后,弹出一个窗…

一文速览深度伪造检测(Detection of Deepfakes):未来技术的守门人

一文速览深度伪造检测(Detection of Deepfakes):未来技术的守门人 前言一、Deepfakes技术原理卷积神经网络(CNN):细致的艺术学徒生成对抗网络(GAN):画家与评审的双重角色…

LeetCode34.在排序数组中查找元素的第一个和最后一个位置

题目 给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。 示例 输入…

数据仓库与数据挖掘概述

目录 一、数据仓库概述 (一)从传统数据库到数据仓库 (二)数据仓库的4个特征 (三)数据仓库系统 (四)数据仓库系统体系结构 (五)数据仓库数据的粒度与组织…

Composer基础使用 SDK包初始化

Composer 的工作原理 我们在使用 Composer 之前我们得了解一下它的实现原理,它主要由三个部分组成:命令行工具、包仓库、代码库: Packagist 它是官方仓库,也就是我们平常说的 Composer 源,它的作用是存储这些包的信息…

Elasticsearch安装需编译的版本分词器,出现的编译问题

一般来说,网上很多教程在讲如何安装es的ik分词器,包括项目文档也有提及:​​​​​​Releases medcl/elasticsearch-analysis-ik GitHub 如果是对应版本作者已经编译好的还比较容易安装,如下图: 但如果是只有源代码…

RK3568 android11 调试陀螺仪模块 MPU6500

一,MPU6500功能介绍 1.简介 MPU6500是一款由TDK生产的运动/惯性传感器,属于惯性测量设备(IMU)的一种。MPU6500集成了3轴加速度计、3轴陀螺仪和一个板载数字运动处理器(DMP),能够提供6轴的运动…

Scrapy与分布式开发(1.1):课程导学

Scrapy与分布式开发:从入门到精通,打造高效爬虫系统 课程大纲 在这个专栏中,我们将一起探索Scrapy框架的魅力,以及如何通过Scrapy-Redis实现分布式爬虫的开发。在本课程导学中,我们将为您简要介绍课程的学习目标、内容…

计算机专业大学四年应该如何规划(Java方向)

计算机专业的学生,如何在大学四年内提高自己的竞争力,毕业之后直接进大厂工作? 以下将从大学四年计算机专业的学习规划、课程设置、能力提升、参考书籍等方面,为同学们提供一些建议和指导。 大一: 主攻技能学习并且达…

【Linux C | 网络编程】gethostbyname 函数详解及C语言例子

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

Centos7.9环境源码编译安装ffmpeg6.x

1.官网ffmpeg下载源码 https://ffmpeg.org/download.html#build-windows 2.未安装x264库则先安装配置 可以先查询x264库: whereis libx264 安装编译工具和依赖库: sudo yum install gcc make cmake mercurial git yasm pkgconfig autoconf automake libtool sudo…

【Java程序员面试专栏 数据结构】六 高频面试算法题:字符串

一轮的算法训练完成后,对相关的题目有了一个初步理解了,接下来进行专题训练,以下这些题目就是汇总的高频题目,本篇主要聊聊数组,包括数组合并,滑动窗口解决最长无重复子数组问题,图形法解下一个排列问题,以及一些常见的二维矩阵问题,所以放到一篇Blog中集中练习 题目…

Java-常用集合

Jva常用集合 一、Java 集合框架体系二、Collection接口和方法1. List接口List 接口主要实现类:ArrayListList 的实现类之二:LinkedListList 的实现类之三:Vector 2. Set接口Set 主要实现类:HashSetSet 实现类之二:Link…

【python】Python Turtle绘制流星雨动画效果【附源码】

在这篇技术博客中,我们将学习如何使用 Python 的 Turtle 模块绘制一个流星雨的动画效果。通过简单的代码实现,我们可以在画布上展现出流星闪耀的场景,为视觉带来一丝神秘与美感。 一、效果图: 二、准备工作 (1)、导入…

深入理解Mysql事务隔离级别与锁机制

深入理解Mysql事务隔离级别与锁机制 **事务及其ACID属性**并发事务处理带来的一致性问题。隔离级别读未提交读已提交可重复读可串行化**间隙锁(Gap Lock)** 事务及其ACID属性 事务是由一组SQL语句组成的逻辑处理单元,事务具有以下4个属性,通常简称为事务的ACID属性。 原子性&…

naive-ui-admin 表格去掉工具栏toolbar

使用naive-ui-admin的时候,有时候不需要显示工具栏,工具栏太占地方了。 1.在src/components/Table/src/props.ts 里面添加属性 showToolbar 默认显示,在不需要的地方传false。也可以默认不显示 ,这个根据需求来。 2.在src/compo…

看完这篇,终于理解如何制作产品使用说明书啦!

制作产品说明书是一项重要的任务,它不仅提供了产品的详细信息,还可以帮助用户正确地使用和维护产品,确保产品说明书的质量和可使用性。在制作产品说明书时,掌握注意事项,可以帮助你更加高效地制作产品说明书。以下是Lo…
推荐文章