JumpServerV4.7.0docker部署

1、安装文档来源

链接1: dockerhub官网https://hub.docker.com/r/jumpserver/jms_all
链接2: jumpserver官网安装配置手册https://docs.jumpserver.org/zh/master/install/setup_by_lb/
链接3: jumpserver官网功能手册https://docs.jumpserver.org/zh/latest/guide/index_description/

2、环境要求

jms_all该项目是 JumpServer all-in-one 部署方式的 Docker 镜像生成代码,应该是把插件都集成一个镜像里了,根据dockerhub界面要求:
1、需要外置数据库要求 MariaDB 版本大于等于 10.6;
2、外置 Redis 要求 Redis 版本大于等于 6.2。

3、根据要求选择目标docker镜像下载

docker pull jumpserver/jms_all:v4.7.0
docker pull redis:7.4.2
docker pull mariadb:11.7.2

4、创建需要持久化的目录,我创建在/home目录下

mkdir -p /home/jump  #jump所有文件目录
mkdir -p /home/jump/mariadb  #mysql缓存目录
mkdir -p /home/jump/redis/conf  #redis缓存目录
mkdir -p /home/jump/jump  #jumpserver缓存目录
mkdir -p /home/jump/jump/core/data  #jumpserver下具体插件缓存
mkdir -p /home/jump/jump/koko/data
mkdir -p /home/jump/jump/lion/data
mkdir -p /home/jump/jump/kael/data
mkdir -p /home/jump/jump/kael/data
mkdir -p /home/jump/jump/chen/data
mkdir -p /home/jump/jump/web/log

5、创建redis配置启动

docker run -d \
 --name jumpserver_redis \
 --restart=always \
  -p 6379:6379 \
  -v /home/jump/redis/conf:/etc/redis \
  -v /home/jump/redis/data:/data \
  redis:7.4.2 \
  redis-server /etc/redis/redis.conf
cat >> /home/jump/redis/conf/redis.conf <<EOF
bind 0.0.0.0
maxmemory-policy allkeys-lru
requirepass 123456
EOF

6、创建mysql启动,创建数据库并赋予权限

docker run -d \
 --name jumpserver_mariadb \
 --restart=always \
 -e MYSQL_ROOT_PASSWORD=123456 \
 -p 3306:3306 \
 -v /home/jump/mariadb:/var/lib/mysql \
 mariadb:11.7.2

进入数据库创建库,并赋予对应用户权限
mariadb -uroot -p

create database jumpserver default charset 'utf8';
create user 'jumpserver'@'%' identified by '12345678';
grant all on jumpserver.* to 'jumpserver'@'%';
flush privileges;

7、启动jumpserver

docker run --name jms_all -d \
  --restart=always \
  -p 80:80 \
  -p 2222:2222 \
  -p 30000-30100:30000-30100 \
  -e SECRET_KEY=4kGNxyAucTuXdYKehaXavPaA5zat224PEcdovfxax2TABP5XNJ \
  -e BOOTSTRAP_TOKEN=ch4c8wTsh7dhKyd513jAvNyU \
  -e LOG_LEVEL=ERROR \
  -e DB_ENGINE=mysql \
  -e DB_HOST=192.168.1.2 \
  -e DB_PORT=3306 \
  -e DB_USER=jumpserver \
  -e DB_PASSWORD=12345678 \
  -e DB_NAME=jumpserver \
  -e REDIS_HOST=192.168.1.2 \
  -e REDIS_PORT=6379 \
  -e REDIS_PASSWORD=123456 \
  --privileged=true \
  -v /home/jump/jump/core/data:/opt/jumpserver/data \
  -v /home/jump/jump/koko/data:/opt/koko/data \
  -v /home/jump/jump/lion/data:/opt/lion/data \
  -v /home/jump/jump/kael/data:/opt/kael/data \
  -v /home/jump/jump/chen/data:/opt/chen/data \
  -v /home/jump/jump/web/log:/var/log/nginx \
  jumpserver/jms_all:v4.7.0

环境变量如下:

  • SECRET_KEY = xxxxx # 自行生成随机的字符串, 不要包含特殊字符串, 长度推荐大于等于 50

  • BOOTSTRAP_TOKEN = xxxxx # 自行生成随机的字符串, 不要包含特殊字符串, 长度推荐大于等于 24

  • LOG_LEVEL = ERROR # 日志等级, 测试环境推荐设置为 DEBUG

  • DB_ENGINE = mysql # 使用 MySQL 数据库,应该也能使用postgres,具体没试过,可以自行尝试,找对应postgres创建库的sql创建

  • DB_HOST = mysql_host # MySQL 数据库 IP 地址

  • DB_PORT = 3306 # MySQL 数据库 端口

  • DB_USER = xxx # MySQL 数据库认证用户

  • DB_PASSWORD = xxxx # MySQL 数据库认证密码

  • DB_NAME = jumpserver # JumpServer 使用的数据库名称

  • REDIS_HOST = redis_host # 使用 Redis 缓存

  • REDIS_PORT = 6379 # Redis 服务器 IP 地址

  • REDIS_PASSWORD = xxxx # Redis 认证密码

  • VOLUME /opt/jumpserver/data # Core 持久化目录, 存储录像日志

  • VOLUME /opt/koko/data # Koko 持久化目录

  • VOLUME /opt/lion/data # Lion 持久化目录

  • VOLUME /opt/kael/data # Kael 持久化目录

  • VOLUME /opt/chen/data # Chen 持久化目录

  • VOLUME /var/log/nginx # Nginx 日志持久化目录

8、访问80端口

地址: http://<JumpServer服务器IP地址>:<服务运行端口>
用户名: admin
密码: ChangeMe

### 单机环境下通过Docker部署RocketMQ #### 1. 准备工作 在开始之前,确保已经安装并配置好Docker环境。可以通过以下命令验证Docker是否正常运行: ```bash docker --version ``` 如果未安装Docker,则需先完成安装。 #### 2. 拉取必要的镜像 为了实现单机版的RocketMQ部署,需要拉取`namesrv`和`broker`的相关镜像。可以使用如下命令来获取官方推荐的镜像: ```bash docker pull foxiswho/rocketmq:server-4.7.0 # NameServer镜像 docker pull foxiswho/rocketmq:broker-4.7.0 # Broker镜像 ``` 此外,还需要一个用于监控管理的Web界面工具——RocketMQ Console。其对应的Docker镜像是`styletang/rocketmq-console-ng`: ```bash docker pull styletang/rocketmq-console-ng # RocketMQ Console镜像 ``` #### 3. 启动NameServer服务 创建并启动NameServer容器,这是整个消息队列的核心组件之一: ```bash docker run -d \ --name rocketmq-namesrv \ -p 9876:9876 \ foxiswho/rocketmq:server-4.7.0 ``` 上述命令会将容器内的端口`9876`映射到主机相同端口,并以后台模式运行该容器[^1]。 #### 4. 配置并启动Broker服务 接下来设置Broker服务并与已有的NameServer关联起来。首先定义一个简单的配置文件(可选),或者直接指定默认参数启动Broker实例: ```bash docker run -d \ --name rocketmq-broker \ -e NAMESRV_ADDR="localhost:9876" \ -p 10911:10911 \ -p 10909:10909 \ -v /your/local/path:/opt/data/logs \ foxiswho/rocketmq:broker-4.7.0 ``` 这里的关键在于设置了环境变量`NAMESRV_ADDR`指向本地正在运行的NameServer地址。 #### 5. 初始化Topic 一旦Broker成功上线后,就可以利用客户端API或其他方式创建所需的Topics。通常情况下,这一步可通过编写脚本或手动操作完成。 #### 6. 运行RocketMQ Console 最后一步是加载图形化管理平台以便于日常运维活动。执行下面语句即可快速搭建起Console应用: ```bash docker run -d \ --name rocketmq-console \ -e ROCKETMQ_NAMESRV_ADDR="localhost:9876" \ -p 8080:8080 \ styletang/rocketmq-console-ng ``` 访问浏览器中的`http://<host-ip>:8080`应该可以看到完整的Dashboard页面[^3]。 #### 7. 测试连接与功能验证 按照前述步骤完成后,建议尝试发送几条测试消息至目标Queue中去检验整体架构是否稳定可靠。具体做法参见相关文档说明[^4]。 --- ### 注意事项 - 如果遇到网络不通等问题,请确认防火墙规则以及SELinux策略是否允许相应流量穿越。 - 对于生产环境而言,务必考虑高可用性和持久化的存储方案设计。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值