• Docker部署Jumpserver堡垒机


    Jumpserver 是全球首款完全开源的堡垒机,使用 GNU GPL v2.0 开源协议,是符合 4A 的专业运维审计系统。
    Jumpserver 使用 Python / Django 进行开发,遵循 Web 2.0 规范,配备了业界领先的 Web Terminal 解决方案,交互界面美观、用户体验好。
    Jumpserver 采纳分布式架构,支持多机房跨区域部署,中心节点提供 API,各机房部署登录节点,可横向扩展、无并发访问限制。
    一、下载镜像安装
    mysql:5.7
    redis:latest
    jms_all:latest

    [root@my ~]# docker pull jumpserver/jms_all
    [root@my ~]# docker pull mysql:5.7
    [root@my ~]# docker pull redis
    
    • 1
    • 2
    • 3

    二、启动容器
    启动mysql

    [root@my ~]# docker run -d --name mysql --restart=always -e MYSQL_ROOT_PASSWORD=admin123  -p 3306:3306 -v /data/mysql/data:/var/lib/mysql mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    
    • 1

    配置数据库

    docker exec -it mysql /bin/bash
    mysql -u root -padmin123
    mysql> create database jumpserver default charset 'utf8mb4';
    mysql> grant all on jumpserver.* to 'jumpserver'@'%' identified by 'admin123';
    mysql> flush privileges;
    mysql> exit;
    #exit
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    启动redis

    docker run -d -it --name redis -p 6379:6379 -v /data/redis/data:/data --restart=always  --sysctl net.core.somaxconn=1024  redis:4.0.10 --requirepass "123456"
    
    • 1

    随机生成密钥

    if [ "$SECRET_KEY" = "" ]; then SECRET_KEY=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`; echo "SECRET_KEY=$SECRET_KEY" >> ~/.bashrc; echo $SECRET_KEY; else echo $SECRET_KEY; fi
    
    if [ "$BOOTSTRAP_TOKEN" = "" ]; then BOOTSTRAP_TOKEN=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16`; echo "BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN" >> ~/.bashrc; echo $BOOTSTRAP_TOKEN; else echo $BOOTSTRAP_TOKEN; fi
    
    • 1
    • 2
    • 3

    启动jumpserver

    docker run -d --name jumpserver -h jumpserver --restart=always  \
        -v /data/jumpserver:/opt/jumpserver/data/media \
        -p 80:80 \
        -p 2222:2222 \
        -e SECRET_KEY=CWL1znY9BnphHHMAW3YjLuSz765J8EaRnYFRl25CYGBqDimwBu \
        -e BOOTSTRAP_TOKEN=h4o6qWnQgLyYCDmZ \
        -e DB_HOST=192.168.100.20 \
        -e DB_PORT=3306 \
        -e DB_USER=jumpserver \
        -e DB_PASSWORD="admin123" \
        -e DB_NAME=jumpserver \
        -e REDIS_HOST=192.168.100.20 \
        -e REDIS_PORT=6379 \
        -e REDIS_PASSWORD="123456" \
    jumpserver/jms_all:latest 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    三、容器检查

    [root@my ~]# docker ps
    CONTAINER ID        IMAGE                       COMMAND                  CREATED             STATUS              PORTS                                        NAMES
    c323e89b6629        jumpserver/jms_all:latest   "./entrypoint.sh"        9 minutes ago       Up 9 minutes        0.0.0.0:80->80/tcp, 0.0.0.0:2222->2222/tcp   jumpserver
    521483f8f57c        mysql:5.7                   "docker-entrypoint.s…"   10 minutes ago      Up 10 minutes       0.0.0.0:3306->3306/tcp, 33060/tcp            mysql
    ab98869d229d        redis:latest                "docker-entrypoint.s…"   20 minutes ago      Up 20 minutes       0.0.0.0:6379->6379/tcp                       redis-jm
    
    • 1
    • 2
    • 3
    • 4
    • 5

    四、页面访问
    使用192.168.100.20访问,默认账号密码:admin/admin 首次登录会提示修改密码。
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    vue之表单输入绑定
    课题学习(八)----卡尔曼滤波动态求解倾角、方位角
    什么是JPA? JPA在springBoot中怎么使用
    业务系统中基于角色的访问控制RBAC
    使用Java实现一个简单的贪吃蛇小游戏
    jQuery来了--效果--隐藏和显示,淡入淡出,滑动
    洛谷 P3966 [TJOI2013]单词(AC自动机, fail 树)
    【笔记】原油阳谋论
    TMS320C6678 DSP + Xilinx Kintex-7 FPGA开发板硬件接口资源图解分享
    网络工程试验(一)链路聚合的三种情况
  • 原文地址:https://blog.csdn.net/weixin_45432833/article/details/133934349