• 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 首次登录会提示修改密码。
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    openpnp - 74路西门子飞达控制板(主控板STM32_NUCLEO-144) - 验证
    mysql 不同版本 下载地址
    安装kubesphere3.3
    python折半查找
    绿色便携方式安装apache+mysql+tomcat+php集成环境并提供控制面板
    微信最新更新隐私策略(2023-08-15)
    java授权码方案 软件实现时间授权 离线授权 夏末版
    Java实现操作阿里云OSS云存储详解,含配置和完整代码
    如何正确维护实验室超声波清洗器?
    Qt中Json的操作
  • 原文地址:https://blog.csdn.net/weixin_45432833/article/details/133934349