Sign inSign up

qq58945591/jumpserver

By qq58945591

•Updated over 8 years ago

JumpServer集成coco和luna,使用nginx进行反向代理,不包含数据库和队列管理,需要自行准备MySQL Server或使用SQLite3.

Image
0

1.2K

qq58945591/jumpserver repository overview

⁠这是什么玩意?

jumpserver 开源跳板机, 项目地址点击这里⁠

为了简化部署,打包成docker镜像, 组件包含了jumpserver,coco,luna,nginx, 使用了supervisor进行守护进程管理,由于supervisor不支持python3,所以镜像包含py2和py3并存.

⁠如何使用?

⁠1. 准备数据库,设定数据库超级管理员密码(替换xxx为实际的密码).
docker run -d --name mariadb -v /opt/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD='xxx' mariadb
⁠2. 登陆数据库控制台.
docker run -it --rm --link mariadb:mysql-server mariadb '/bin/sh'
mysql -uroot -p -h mysql-server
⁠3. 创建数据库 jumpserver并授权(替换xxx为实际的用户密码), 完成后退出容器.
MariaDB [(none)]>create database jumpserver default charset 'utf8';
MariaDB [(none)]>grant all on jumpserver.* to 'jumpserver'@'%' identified by 'xxx';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> quit

#exit
⁠4. 生成数据库表结构和初始化数据.
docker run --rm -it --link mariadb:mysql-server -e DB_USER='jumpserver' -e DB_PASSWORD='xxx' qq58945591/jumpserver 'init_db'
⁠5. 把mariadb数据库停掉,稍后使用docker-compose跟jms一起启动.
docker stop mariadb
docker rm mariadb
⁠6. 编辑yaml文件,修改jumpserver的连接信息(替换xxx为实际的用户密码),以及挂载保存的日志路径,因为容器一旦停止,数据将丢失.更多docker-compose语法参考这里⁠
#jms 数据库用户密码
DB_PASSWORD: "xxx"

#mysql超级管理员密码.
MYSQL_ROOT_PASSWORD: "xxx"

#更改挂载容器目录到本机的路径,(注意仅更改冒号前面的路径,冒号后面的路径是容器内固定路径,不要修改)
#jms 和 coco 日志.
volumes:
  - /opt/jumpserver/logs:/opt/jumpserver/logs
  - /opt/coco/logs:/opt/coco/logs

#数据库.
volumes:
    - "/opt/mysql:/var/lib/mysql"
⁠7. 使用docker-compose启动.
docker-compose -f jms.yaml up -d

#参考的yaml文件如下:
#-------------------------------
version:  "2"
services:
  jumpserver:
    image:  qq58945591/jumpserver
    ports:
      - "127.0.0.1:80:80"
      - "127.0.0.1:8080:8080"
      - "2222:2222"
    volumes:
      - /opt/jumpserver/logs:/opt/jumpserver/logs
      - /opt/coco/logs:/opt/coco/logs
    user: root
    restart:  always
    environment:
        DB_ENGINE: "mysql"
        DB_HOST: "mysql-server"
        DB_PORT: "3306"
        DB_USER: "jumpserver"
        DB_PASSWORD: "jumpserver"
        DB_NAME: "jumpserver"
    container_name: "jumpserver"
    hostname: jms.example.com
    links:
      - mariadb:mysql-server
      - redis:redis-server
    depends_on:
      - mariadb
      - redis

  redis:
    image:  redis
    # ports:
    #  - "127.0.0.1:6379:6379"
    container_name: "redis"
    user: root
    restart:  always
    ulimits:
      mem_limit: 512m

  mariadb:
    image:  mariadb
    ports:
      - "127.0.0.1:3306:3306"
    container_name: "mariadb"
    volumes:
        - "/opt/mysql:/var/lib/mysql"
    user: root
    restart:  always
    environment:
        MYSQL_ROOT_PASSWORD: "jumpserver"
    command:
        - "--character-set-server=utf8mb4"
        - "--collation-server=utf8mb4_unicode_ci"
#-------------------------------

⁠支持的变量(通过在yaml中添加环境变量或者在docker run中使用-e VAR=value的方式)

DB_ENGINE
DB_HOST
DB_PORT
DB_USER
DB_PASSWORD
DB_NAME

Tag summary

Content type

Image

Digest

Size

131.7 MB

Last updated

over 8 years ago

docker pull qq58945591/jumpserver