【企业级部署】安装JumpServer

目录

JumpServer 环境要求:

安装方法介绍

基于容器部署

环境说明

下载MySQL 镜像查看默认配置

在宿主机准备MySQL配置文件

启动 MySQL 容器

验证mysql

安装 redis 服务

启动redis

部署JumpServer

生成key和token

运行容器:

验证是否成功

查看日志:

查看MySQL中生成相关表

查看端口

验证登录:


JumpServer 环境要求:

  • 硬件配置:2个CPU核心,4G内存,50G硬盘(最低)
  • 操作系统:Linux发行版x86 64
  • Python=3.6.x
  • Mysql Server≥5.6 或者 Mariadb Server≥5.5.56数据库编码要求uft8
  • Redis

安装方法介绍

官方提供了多种安装方法

  • 手动部署:一步一步实现
  • 极速部署:资产数量不多,或者测试体验的用户请使用本脚本快速部署
  • 容器部署:基于docker实现
  • 分布式部署:适用大型环境

基于容器部署

环境说明

外置数据库要求

  • mysql 版本需要大于等于5.6
  • mariadb 版本需要大于等于5.5.6
  • 数据库编码要求 uft8

基于容器,安装完毕后可以通过以下方式访问

  • 浏览器访问:http://<容器所在服务器IP>
  • 默认管理员账户 admin 密码admin
  • SSH访问:ssh-p2222<容器所在服务器IP>
  • XShell 等工具请添加connection连接,默认ssh端口2222

下载MySQL 镜像查看默认配置

下载MySQL镜像并运行,查看当前默认配置不符合JumpServer安装要求

#下载MySQL镜像并启动
docker run --rm --name mysql -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=jumpserver -e MYSQL_USER=jumpserver -e MYSQL_PASSWORD=123456 -d -p 3306:3306 mysql:5.7.30

#查看默认的MySQL容器配置不符合jumpserver要求
[root@localhost ~]# docker exec -it mysql bash
root@c1f1872a90c8:/# mysql -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.30 MySQL Community Server (GPL)

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show create database jumpserver;
+------------+-----------------------------------------------------------------------+
| Database   | Create Database                                                       |
+------------+-----------------------------------------------------------------------+
| jumpserver | CREATE DATABASE `jumpserver` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+------------+-----------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> select user,host from mysql.user;
+---------------+-----------+
| user          | host      |
+---------------+-----------+
| jumpserver    | %         |
| root          | %         |
| mysql.session | localhost |
| mysql.sys     | localhost |
| root          | localhost |
+---------------+-----------+
5 rows in set (0.00 sec)

mysql> exit
Bye

#查看配置文件路径
root@c1f1872a90c8:/# cat /etc/mysql/mysql.cnf 
...
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

#默认配置文件
root@c1f1872a90c8:/# tree /etc/mysql/
/etc/mysql/
|-- conf.d
|   |-- docker.cnf
|   |-- mysql.cnf
|   `-- mysqldump.cnf
|-- my.cnf -> /etc/alternatives/my.cnf
|-- my.cnf.fallback
|-- mysql.cnf
`-- mysql.conf.d
    `-- mysqld.cnf

root@c1f1872a90c8:/# ls -R /etc/mysql/
/etc/mysql/:
conf.d	my.cnf	my.cnf.fallback  mysql.cnf  mysql.conf.d

/etc/mysql/conf.d:
docker.cnf  mysql.cnf  mysqldump.cnf

/etc/mysql/mysql.conf.d:
mysqld.cnf

#默认配置文件
root@c1f1872a90c8:/# grep '^[^#]' /etc/mysql/mysql.conf.d/mysqld.cnf 
[mysqld]
pid-file	= /var/run/mysqld/mysqld.pid
socket		= /var/run/mysqld/mysqld.sock
datadir		= /var/lib/mysql
symbolic-links=0


#默认配置文件
root@c1f1872a90c8:/# cat /etc/mysql/conf.d/mysql.cnf        
[mysql]


root@c1f1872a90c8:/# exit
exit
[root@localhost ~]# docker stop mysql
mysql

在宿主机准备MySQL配置文件

#准备相关目录
mkdir -p /etc/mysql/mysql.conf.d/
mkdir -p /etc/mysql/conf.d/

#生成配置文件,指定字符集
[root@localhost ~]# tee /etc/mysql/mysql.conf.d/mysql.cnf <<EOF
[mysqld]
pid-file= /var/run/mysqld/mysqld.pid
socket= /var/run/mysqld/mysqld.sock
datadir= /var/lib/mysql
symbolic-links=0
character-set-server=utf8 #添加此行,指定字符集
EOF

#生成配置文件,指定字符集
[root@localhost ~]# tee /etc/mysql/conf.d/mysql.cnf <<EOF
> [mysql]
> default-character-set=utf8  #添加此行,指定字符集
> EOF

#查看配置文件列表
[root@localhost ~]# tree /etc/mysql/
/etc/mysql/
├── conf.d
│   └── mysql.cnf
└── mysql.conf.d
    └── mysql.cnf

2 directories, 2 files

启动 MySQL 容器

将上面宿主机的设置好的配置文件挂载至MySQL容器

docker run -d -p 3306:3306 --name mysql --restart always \
-e MYSQL_ROOT_PASSWORD=123456 \
-e MYSQL_DATABASE=jumpserver  \
-e MYSQL_USER=jumpserver     \
-e MYSQL_PASSWORD=123456     \
-v /data/mysql:/var/lib/mysql   \
-v /etc/mysql/mysql.conf.d/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf \
-v /etc/mysql/conf.d/mysql.cnf:/etc/mysql/conf.d/mysql.cnf    mysql:5.7.30

验证mysql

[root@localhost mysql.conf.d]# docker exec -it mysql sh
# mysql -uroot -p123456 -e 'show variables like "character%"'
mysql: [Warning] Using a password on the command line interface can be insecure.
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
# mysql -uroot -p123456 -e 'show variables like "collation%"'
mysql: [Warning] Using a password on the command line interface can be insecure.
+----------------------+-----------------+
| Variable_name        | Value           |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database   | utf8_general_ci |
| collation_server     | utf8_general_ci |
+----------------------+-----------------+


root@4fbb62021fae:/# cat /var/lib/mysql/jumpserver/db.opt 
default-character-set=utf8
default-collation=utf8_general_ci

root@92c4e01fd9fc:/# cat /etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
pid-file= /var/run/mysqld/mysqld.pid
socket= /var/run/mysqld/mysqld.sock
datadir= /var/lib/mysql
symbolic-links=0
character-set-server=utf8 #添加此行,指定字符集
root@92c4e01fd9fc:/# cat /etc/mysql/conf.d/mysql.cnf
[mysql]
default-character-set=utf8  #添加此行,指定字符集


root@92c4e01fd9fc:/# mysql -p123456 -e 'select user,host from mysql.user'
mysql: [Warning] Using a password on the command line interface can be insecure.
+---------------+-----------+
| user          | host      |
+---------------+-----------+
| jumpserver    | %         |
| root          | %         |
| mysql.session | localhost |
| mysql.sys     | localhost |
| root          | localhost |
+---------------+-----------+
root@92c4e01fd9fc:/# mysql -p123456 -e 'select user,host from mysql.user'
mysql: [Warning] Using a password on the command line interface can be insecure.
+---------------+-----------+
| user          | host      |
+---------------+-----------+
| jumpserver    | %         |
| root          | %         |
| mysql.session | localhost |
| mysql.sys     | localhost |
| root          | localhost |
+---------------+-----------+
root@4fbb62021fae:/# ls -l /var/lib/mysql/
total 188484
-rw-r-----. 1 mysql mysql       56 Jun  9 04:46 auto.cnf
-rw-------. 1 mysql mysql     1680 Jun  9 04:46 ca-key.pem
-rw-r--r--. 1 mysql mysql     1112 Jun  9 04:46 ca.pem
-rw-r--r--. 1 mysql mysql     1112 Jun  9 04:46 client-cert.pem
-rw-------. 1 mysql mysql     1680 Jun  9 04:46 client-key.pem
-rw-r-----. 1 mysql mysql     1346 Jun  9 04:46 ib_buffer_pool
-rw-r-----. 1 mysql mysql 50331648 Jun  9 04:46 ib_logfile0
-rw-r-----. 1 mysql mysql 50331648 Jun  9 04:46 ib_logfile1
-rw-r-----. 1 mysql mysql 79691776 Jun  9 04:46 ibdata1
-rw-r-----. 1 mysql mysql 12582912 Jun  9 04:46 ibtmp1
drwxr-x---. 2 mysql mysql       20 Jun  9 04:46 jumpserver
drwxr-x---. 2 mysql mysql     4096 Jun  9 04:46 mysql
drwxr-x---. 2 mysql mysql     8192 Jun  9 04:46 performance_schema
-rw-------. 1 mysql mysql     1680 Jun  9 04:46 private_key.pem
-rw-r--r--. 1 mysql mysql      452 Jun  9 04:46 public_key.pem
-rw-r--r--. 1 mysql mysql     1112 Jun  9 04:46 server-cert.pem
-rw-------. 1 mysql mysql     1676 Jun  9 04:46 server-key.pem
drwxr-x---. 2 mysql mysql     8192 Jun  9 04:46 sys

遇到的问题,在创建后没有对应的库名,靠近一步查看logs显示对应重建的日志,原因为对应之前创建的数据参数是错误没有成功导致一直在使用对应老的库文件,删除后创建正常



[root@localhost mysql]# ls /data/mysql
auto.cnf    ca.pem           client-key.pem  ibdata1      ib_logfile1  jumpserver  performance_schema  public_key.pem   server-key.pem
ca-key.pem  client-cert.pem  ib_buffer_pool  ib_logfile0  ibtmp1       mysql       private_key.pem     server-cert.pem  sys

# 测试连接数据库
[root@localhost mysql]# mysql -ujumpserver -p123456 -h192.168.2.11
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.30 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| jumpserver         |
+--------------------+
2 rows in set (0.00 sec)

MySQL [(none)]> use jumpserver;
Database changed
MySQL [jumpserver]> show tables;
Empty set (0.00 sec)

安装 redis 服务

启动redis

docker run -d -p 6379:6379 --name redis --restart always redis:5.0.9

验证redis连接

wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
yum instll epel-release
yum install redis

[root@localhost mysql]# redis-cli -h 192.168.2.11
192.168.2.11:6379> info
# Server
redis_version:5.0.9
redis_git_sha1:00000000
redis_git_dirty:0

部署JumpServer

生成key和token

需要先生成key和token

[root@localhost ~]# cat key.sh 
#!/bin/bash
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 $BOOTSTRAPTOKEN;
else
   echo $BOOTSTRAP_TOKEN;
fi

[root@localhost ~]# tail -n2 .bashrc 
SECRET KEY=OeHNEMC7VIUHSe8zW0LDWfI2qdnFDBnVwyxCc6x7h7GEMdevl3
BOOTSTRAP_TOKEN=Tt7I8o3ECEBkn5RC

运行容器:

jumpserver 2.5.3版

docker run --name jms_all -d -v /opt/jumpserver/data:/opt/jumpserver/data -p 80:80  -p 2222:2222 --restart  always -e SECRET_KEY=OeHNEMC7VIUHSe8zW0LDWfI2qdnFDBnVwyxCc6x7h7GEMdevl3 -e BOOTSTRAP_TOKEN=Tt7I8o3ECEBkn5RC -e DB_HOST=192.168.2.11 -e DB_PORT=3306 -e DB_USER=root -e DB_PASSWORD=123456 -e DB_NAME=jumpserver -e REDIS_HOST=192.168.2.11 -e REDIS_PORT=6379 -e REDIS_PASSWORD='' --privileged=true jumpserver/jms_all:v2.5.3

 jumpserver 2.1.2

docker run --name jms_all -d -v /opt/jumpserver/data:/opt/jumpserver/data -p 80:80  -p 2222:2222 --restart  always -e SECRET_KEY=OeHNEMC7VIUHSe8zW0LDWfI2qdnFDBnVwyxCc6x7h7GEMdevl3 -e BOOTSTRAP_TOKEN=Tt7I8o3ECEBkn5RC -e DB_HOST=192.168.2.11 -e DB_PORT=3306 -e DB_USER=root -e DB_PASSWORD=123456 -e DB_NAME=jumpserver -e REDIS_HOST=192.168.2.11 -e REDIS_PORT=6379 -e REDIS_PASSWORD='' --privileged=true jumpserver/jms_all:v2.1.2

验证是否成功

查看日志:

查看jumpserver 2.5.3日志确认成功

[root@localhost ~]# docker logs jms_all
2023-06-09 13:40:59 Fri Jun  9 13:40:59 2023
2023-06-09 13:40:59 JumpServer version v2.5.3, more see https://www.jumpserver.org
2023-06-09 13:40:59 Check database connection ...
users
 [ ] 0001_initial
 [ ] 0002_auto_20171225_1157_squashed_0019_auto_20190304_1459 (18 squashed migrations)
 [ ] 0020_auto_20190612_1825
 [ ] 0021_auto_20190625_1104
 [ ] 0022_auto_20190625_1105
 [ ] 0023_auto_20190724_1525
 [ ] 0024_auto_20191118_1612
 [ ] 0025_auto_20200206_1216
 [ ] 0026_auto_20200508_2105
 [ ] 0027_auto_20200616_1503
 [ ] 0028_auto_20200728_1805
 [ ] 0029_auto_20200814_1650
 [ ] 0030_auto_20200819_2041
2023-06-09 13:41:08 Database connect success
2023-06-09 13:41:08 Check database structure change ...
2023-06-09 13:41:08 Migrate model change to database ...
Operations to perform:
  Apply all migrations: admin, applications, assets, audits, auth, authentication, captcha, common, contenttypes, django_cas_ng, django_celery_beat, jms_oidc_rp, ops, orgs, perms, sessions, settings, terminal, tickets, users
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0001_initial... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying users.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying assets.0001_initial... OK
  Applying assets.0002_auto_20180105_1807_squashed_0009_auto_20180307_1212... OK
  Applying assets.0010_auto_20180307_1749_squashed_0019_auto_20180816_1320... OK
  Applying assets.0020_auto_20180816_1652... OK
  Applying assets.0021_auto_20180903_1132... OK
  Applying assets.0022_auto_20181012_1717... OK
  Applying assets.0023_auto_20181016_1650... OK
  Applying assets.0024_auto_20181219_1614... OK
  Applying assets.0025_auto_20190221_1902... OK
  Applying assets.0026_auto_20190325_2035... OK
  Applying assets.0027_auto_20190521_1703... OK
  Applying assets.0028_protocol... OK
  Applying assets.0029_auto_20190522_1114... OK
  Applying assets.0030_auto_20190619_1135... OK
  Applying assets.0031_auto_20190621_1332... OK
  Applying assets.0032_auto_20190624_2108... OK
  Applying assets.0033_auto_20190624_2108... OK
  Applying assets.0034_auto_20190705_1348... OK
  Applying assets.0035_auto_20190711_2018... OK
  Applying assets.0036_auto_20190716_1535... OK
  Applying assets.0037_auto_20190724_2002... OK
  Applying assets.0038_auto_20190911_1634... OK
  Applying assets.0039_authbook_is_active... OK
  Applying assets.0040_auto_20190917_2056... OK
  Applying assets.0041_gathereduser... OK
  Applying assets.0042_favoriteasset... OK
  Applying assets.0043_auto_20191114_1111... OK
  Applying assets.0044_platform... OK
  Applying assets.0045_auto_20191206_1607... OK
  Applying assets.0046_auto_20191218_1705... OK
  Applying assets.0047_assetuser... OK
  Applying assets.0048_auto_20191230_1512... OK
  Applying assets.0049_systemuser_sftp_root... OK
  Applying assets.0050_auto_20200711_1740... OK
  Applying assets.0051_auto_20200713_1143... OK
  Applying assets.0052_auto_20200715_1535... OK
  Applying assets.0053_auto_20200723_1232... OK
  Applying assets.0054_auto_20200807_1032... OK
  Applying assets.0055_auto_20200811_1845... OK
  Applying assets.0056_auto_20200904_1751... OK
  Applying assets.0057_fill_node_value_assets_amount_and_parent_key...

  ................................................................. OK
  Applying users.0002_auto_20171225_1157_squashed_0019_auto_20190304_1459... OK
  Applying perms.0001_initial... OK
  Applying perms.0002_auto_20171228_0025_squashed_0009_auto_20180903_1132... OK
  Applying perms.0003_action... OK
  Applying perms.0004_assetpermission_actions... OK
  Applying applications.0001_initial... OK
  Applying perms.0005_auto_20190521_1619... OK
  Applying perms.0006_auto_20190628_1921... OK
  Applying perms.0007_remove_assetpermission_actions... OK
  Applying perms.0008_auto_20190911_1907... OK
  Applying perms.0009_remoteapppermission_system_users... OK
  Applying applications.0002_remove_remoteapp_system_user... OK
  Applying applications.0003_auto_20191210_1659... OK
  Applying applications.0004_auto_20191218_1705... OK
  Applying applications.0005_k8sapp... OK
  Applying applications.0006_application... OK
  Applying assets.0058_auto_20201023_1115... OK
  Applying assets.0059_auto_20201027_1905... OK
  Applying assets.0060_node_full_value...
- Start migrate node value if has /
- Start migrate node full value
 OK
  Applying assets.0061_auto_20201116_1757... OK
  Applying assets.0062_auto_20201117_1938... OK
  Applying audits.0001_initial... OK
  Applying audits.0002_ftplog_org_id... OK
  Applying audits.0003_auto_20180816_1652... OK
  Applying audits.0004_operatelog_passwordchangelog_userloginlog... OK
  Applying audits.0005_auto_20190228_1715... OK
  Applying audits.0006_auto_20190726_1753... OK
  Applying audits.0007_auto_20191202_1010... OK
  Applying audits.0008_auto_20200508_2105... OK
  Applying audits.0009_auto_20200624_1654... OK
  Applying audits.0010_auto_20200811_1122... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying authentication.0001_initial... OK
  Applying authentication.0002_auto_20190729_1423... OK
  Applying authentication.0003_loginconfirmsetting... OK
  Applying authentication.0004_ssotoken... OK
  Applying captcha.0001_initial... OK
  Applying common.0001_initial... OK
  Applying common.0002_auto_20180111_1407... OK
  Applying common.0003_setting_category... OK
  Applying common.0004_setting_encrypted... OK
  Applying common.0005_auto_20190221_1902... OK
  Applying common.0006_auto_20190304_1515... OK
  Applying django_cas_ng.0001_initial... OK
  Applying django_celery_beat.0001_initial... OK
  Applying django_celery_beat.0002_auto_20161118_0346... OK
  Applying django_celery_beat.0003_auto_20161209_0049... OK
  Applying django_celery_beat.0004_auto_20170221_0000... OK
  Applying django_celery_beat.0005_add_solarschedule_events_choices... OK
  Applying django_celery_beat.0006_auto_20180322_0932... OK
  Applying django_celery_beat.0007_auto_20180521_0826... OK
  Applying django_celery_beat.0008_auto_20180914_1922... OK
  Applying django_celery_beat.0006_auto_20180210_1226... OK
  Applying django_celery_beat.0006_periodictask_priority... OK
  Applying django_celery_beat.0009_periodictask_headers... OK
  Applying django_celery_beat.0010_auto_20190429_0326... OK
  Applying django_celery_beat.0011_auto_20190508_0153... OK
  Applying django_celery_beat.0012_periodictask_expire_seconds... OK
  Applying jms_oidc_rp.0001_initial... OK
  Applying ops.0001_initial... OK
  Applying ops.0002_celerytask... OK
  Applying ops.0003_auto_20181207_1744... OK
  Applying ops.0004_adhoc_run_as... OK
  Applying ops.0005_auto_20181219_1807... OK
  Applying ops.0006_auto_20190318_1023... OK
  Applying ops.0007_auto_20190724_2002... OK
  Applying ops.0008_auto_20190919_2100... OK
  Applying ops.0009_auto_20191217_1713... OK
  Applying ops.0010_auto_20191217_1758... OK
  Applying ops.0011_auto_20200106_1534... OK
  Applying ops.0012_auto_20200108_1659... OK
  Applying ops.0013_auto_20200108_1706... OK
  Applying ops.0014_auto_20200108_1749... OK
  Applying ops.0015_auto_20200108_1809... OK
  Applying ops.0016_commandexecution_org_id... OK
  Applying ops.0017_auto_20200306_1747... OK
  Applying ops.0018_auto_20200509_1434... OK
  Applying orgs.0001_initial... OK
  Applying orgs.0002_auto_20180903_1132... OK
  Applying orgs.0003_auto_20190916_1057... OK
  Applying orgs.0004_organizationmember... OK
  Applying orgs.0005_auto_20200721_1937... OK
  Applying orgs.0006_auto_20200721_1937... OK
  Applying orgs.0007_auto_20200728_1805... OK
  Applying orgs.0008_auto_20200819_2041... OK
  Applying orgs.0009_auto_20201023_1628... OK
  Applying users.0020_auto_20190612_1825... OK
  Applying users.0021_auto_20190625_1104... OK
  Applying users.0022_auto_20190625_1105... OK
  Applying users.0023_auto_20190724_1525... OK
  Applying users.0024_auto_20191118_1612... OK
  Applying users.0025_auto_20200206_1216... OK
  Applying users.0026_auto_20200508_2105... OK
  Applying users.0027_auto_20200616_1503... OK
  Applying users.0028_auto_20200728_1805... OK
  Applying users.0029_auto_20200814_1650... OK
  Applying users.0030_auto_20200819_2041... OK
  Applying perms.0010_auto_20191218_1705... OK
  Applying perms.0011_auto_20200721_1739... OK
  Applying perms.0012_k8sapppermission... OK
2023-06-09 13:41:53 [node ERROR] Node parent node in mapper:  Default
  Applying perms.0013_rebuildusertreetask_usergrantedmappingnode... OK
  Applying perms.0014_build_users_perm_tree... OK
  Applying perms.0015_auto_20200929_1728... OK
  Applying perms.0016_applicationpermission... OK
  Applying sessions.0001_initial... OK
  Applying settings.0001_initial... OK
  Applying terminal.0001_initial... OK
  Applying terminal.0002_auto_20171228_0025_squashed_0009_auto_20180326_0957... OK
  Applying terminal.0010_auto_20180423_1140... OK
  Applying terminal.0011_auto_20180807_1116... OK
  Applying terminal.0012_auto_20180816_1652... OK
  Applying terminal.0013_auto_20181123_1113... OK
  Applying terminal.0014_auto_20181226_1441... OK
  Applying terminal.0015_auto_20190923_1529... OK
  Applying terminal.0016_commandstorage_replaystorage... OK
  Applying terminal.0017_auto_20191125_0931... OK
  Applying terminal.0018_auto_20191202_1010... OK
  Applying terminal.0019_auto_20191206_1000... OK
  Applying terminal.0020_auto_20191218_1721... OK
  Applying terminal.0021_auto_20200213_1316... OK
  Applying terminal.0022_session_is_success... OK
  Applying terminal.0023_command_risk_level... OK
  Applying terminal.0024_auto_20200715_1713... OK
  Applying terminal.0025_auto_20200810_1735... OK
  Applying terminal.0026_auto_20201027_1905... OK
  Applying terminal.0027_auto_20201102_1651... OK
  Applying terminal.0028_auto_20201110_1918... OK
  Applying terminal.0029_auto_20201116_1757... OK
  Applying tickets.0001_initial... OK
  Applying tickets.0002_auto_20200728_1146... OK
  Applying tickets.0003_auto_20200804_1551... OK
  Applying tickets.0004_ticket_comment... OK
  Applying tickets.0005_ticket_meta_confirmed_system_users... OK
  Applying tickets.0006_auto_20201023_1628... OK
2023-06-09 13:41:55 Collect static files
2023-06-09 13:42:02 Collect static files done
guacd[81]: INFO:	Guacamole proxy daemon (guacd) version 1.2.0 started
Starting guacd: SUCCESS
Tomcat started.
Jumpserver ALL v2.5.3
官网 http://www.jumpserver.org
文档 http://docs.jumpserver.org

进入容器命令 docker exec -it jms_all /bin/bash

查看jumpserver 2.1.2版日志

[root@localhost tmp]# docker logs jms_all
2023-06-09 17:44:02 Fri Jun  9 17:44:02 2023
2023-06-09 17:44:02 Jumpserver version v2.1.2, more see https://www.jumpserver.org
2023-06-09 17:44:02 Check database connection ...
users
 [ ] 0001_initial
 [ ] 0002_auto_20171225_1157_squashed_0019_auto_20190304_1459 (18 squashed migrations)
 [ ] 0020_auto_20190612_1825
 [ ] 0021_auto_20190625_1104
 [ ] 0022_auto_20190625_1105
 [ ] 0023_auto_20190724_1525
 [ ] 0024_auto_20191118_1612
 [ ] 0025_auto_20200206_1216
 [ ] 0026_auto_20200508_2105
 [ ] 0027_auto_20200616_1503
2023-06-09 17:44:10 Database connect success
2023-06-09 17:44:10 Check database structure change ...
2023-06-09 17:44:10 Migrate model change to database ...
Operations to perform:
  Apply all migrations: admin, applications, assets, audits, auth, authentication, captcha, common, contenttypes, django_cas_ng, django_celery_beat, jms_oidc_rp, ops, orgs, perms, sessions, settings, terminal, tickets, users
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0001_initial... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying users.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying users.0002_auto_20171225_1157_squashed_0019_auto_20190304_1459... OK
  Applying assets.0001_initial... OK
  Applying perms.0001_initial... OK
  Applying assets.0002_auto_20180105_1807_squashed_0009_auto_20180307_1212... OK
  Applying assets.0010_auto_20180307_1749_squashed_0019_auto_20180816_1320... OK
  Applying perms.0002_auto_20171228_0025_squashed_0009_auto_20180903_1132... OK
  Applying perms.0003_action... OK
  Applying perms.0004_assetpermission_actions... OK
  Applying assets.0020_auto_20180816_1652... OK
  Applying assets.0021_auto_20180903_1132... OK
  Applying assets.0022_auto_20181012_1717... OK
  Applying assets.0023_auto_20181016_1650... OK
  Applying assets.0024_auto_20181219_1614... OK
  Applying assets.0025_auto_20190221_1902... OK
  Applying assets.0026_auto_20190325_2035... OK
  Applying applications.0001_initial... OK
  Applying perms.0005_auto_20190521_1619... OK
  Applying perms.0006_auto_20190628_1921... OK
  Applying perms.0007_remove_assetpermission_actions... OK
  Applying perms.0008_auto_20190911_1907... OK
  Applying assets.0027_auto_20190521_1703... OK
  Applying assets.0028_protocol... OK
  Applying assets.0029_auto_20190522_1114... OK
  Applying assets.0030_auto_20190619_1135... OK
  Applying assets.0031_auto_20190621_1332... OK
  Applying assets.0032_auto_20190624_2108... OK
  Applying assets.0033_auto_20190624_2108... OK
  Applying assets.0034_auto_20190705_1348... OK
  Applying assets.0035_auto_20190711_2018... OK
  Applying assets.0036_auto_20190716_1535... OK
  Applying assets.0037_auto_20190724_2002... OK
  Applying assets.0038_auto_20190911_1634... OK
  Applying perms.0009_remoteapppermission_system_users... OK
  Applying applications.0002_remove_remoteapp_system_user... OK
  Applying applications.0003_auto_20191210_1659... OK
  Applying applications.0004_auto_20191218_1705... OK
  Applying assets.0039_authbook_is_active... OK
  Applying assets.0040_auto_20190917_2056... OK
  Applying assets.0041_gathereduser... OK
  Applying assets.0042_favoriteasset... OK
  Applying assets.0043_auto_20191114_1111... OK
  Applying assets.0044_platform... OK
  Applying assets.0045_auto_20191206_1607... OK
  Applying assets.0046_auto_20191218_1705... OK
  Applying assets.0047_assetuser... OK
  Applying assets.0048_auto_20191230_1512... OK
  Applying assets.0049_systemuser_sftp_root... OK
  Applying assets.0050_auto_20200711_1740... OK
  Applying assets.0051_auto_20200713_1143... OK
  Applying assets.0052_auto_20200715_1535... OK
  Applying audits.0001_initial... OK
  Applying audits.0002_ftplog_org_id... OK
  Applying audits.0003_auto_20180816_1652... OK
  Applying audits.0004_operatelog_passwordchangelog_userloginlog... OK
  Applying audits.0005_auto_20190228_1715... OK
  Applying audits.0006_auto_20190726_1753... OK
  Applying audits.0007_auto_20191202_1010... OK
  Applying audits.0008_auto_20200508_2105... OK
  Applying audits.0009_auto_20200624_1654... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying authentication.0001_initial... OK
  Applying authentication.0002_auto_20190729_1423... OK
  Applying authentication.0003_loginconfirmsetting... OK
  Applying captcha.0001_initial... OK
  Applying common.0001_initial... OK
  Applying common.0002_auto_20180111_1407... OK
  Applying common.0003_setting_category... OK
  Applying common.0004_setting_encrypted... OK
  Applying common.0005_auto_20190221_1902... OK
  Applying common.0006_auto_20190304_1515... OK
  Applying django_cas_ng.0001_initial... OK
  Applying django_celery_beat.0001_initial... OK
  Applying django_celery_beat.0002_auto_20161118_0346... OK
  Applying django_celery_beat.0003_auto_20161209_0049... OK
  Applying django_celery_beat.0004_auto_20170221_0000... OK
  Applying django_celery_beat.0005_add_solarschedule_events_choices_squashed_0009_merge_20181012_1416... OK
  Applying django_celery_beat.0006_periodictask_priority... OK
  Applying jms_oidc_rp.0001_initial... OK
  Applying ops.0001_initial... OK
  Applying ops.0002_celerytask... OK
  Applying ops.0003_auto_20181207_1744... OK
  Applying ops.0004_adhoc_run_as... OK
  Applying ops.0005_auto_20181219_1807... OK
  Applying ops.0006_auto_20190318_1023... OK
  Applying ops.0007_auto_20190724_2002... OK
  Applying ops.0008_auto_20190919_2100... OK
  Applying ops.0009_auto_20191217_1713... OK
  Applying ops.0010_auto_20191217_1758... OK
  Applying ops.0011_auto_20200106_1534... OK
  Applying ops.0012_auto_20200108_1659... OK
  Applying ops.0013_auto_20200108_1706... OK
  Applying ops.0014_auto_20200108_1749... OK
  Applying ops.0015_auto_20200108_1809... OK
  Applying ops.0016_commandexecution_org_id... OK
  Applying ops.0017_auto_20200306_1747... OK
  Applying ops.0018_auto_20200509_1434... OK
  Applying orgs.0001_initial... OK
  Applying orgs.0002_auto_20180903_1132... OK
  Applying orgs.0003_auto_20190916_1057... OK
  Applying users.0020_auto_20190612_1825... OK
  Applying users.0021_auto_20190625_1104... OK
  Applying users.0022_auto_20190625_1105... OK
  Applying users.0023_auto_20190724_1525... OK
  Applying users.0024_auto_20191118_1612... OK
  Applying perms.0010_auto_20191218_1705... OK
  Applying sessions.0001_initial... OK
  Applying settings.0001_initial... OK
  Applying terminal.0001_initial... OK
  Applying terminal.0002_auto_20171228_0025_squashed_0009_auto_20180326_0957... OK
  Applying terminal.0010_auto_20180423_1140... OK
  Applying terminal.0011_auto_20180807_1116... OK
  Applying terminal.0012_auto_20180816_1652... OK
  Applying terminal.0013_auto_20181123_1113... OK
  Applying terminal.0014_auto_20181226_1441... OK
  Applying terminal.0015_auto_20190923_1529... OK
  Applying terminal.0016_commandstorage_replaystorage... OK
  Applying terminal.0017_auto_20191125_0931... OK
  Applying terminal.0018_auto_20191202_1010... OK
  Applying terminal.0019_auto_20191206_1000... OK
  Applying terminal.0020_auto_20191218_1721... OK
  Applying terminal.0021_auto_20200213_1316... OK
  Applying terminal.0022_session_is_success... OK
  Applying terminal.0023_command_risk_level... OK
  Applying terminal.0024_auto_20200715_1713... OK
  Applying tickets.0001_initial... OK
  Applying users.0025_auto_20200206_1216... OK
  Applying users.0026_auto_20200508_2105... OK
  Applying users.0027_auto_20200616_1503... OK
2023-06-09 17:44:44 Collect static files
2023-06-09 17:44:51 Collect static files done
guacd[76]: INFO:	Guacamole proxy daemon (guacd) version 1.2.0 started
Starting guacd: SUCCESS
Tomcat started.
Jumpserver ALL v2.1.2
官网 http://www.jumpserver.org
文档 http://docs.jumpserver.org
有问题请参考 http://docs.jumpserver.org/zh/docs/faq.html

进入容器命令 docker exec -it jms_all /bin/bash

查看MySQL中生成相关表

[root@localhost ~]# docker exec -it jms_all bash
[root@96820a242e86 opt]# mysql -ujumpserver -p123456 jumpserver 
mysql -ujumpserver -p123456 -h192.168.2.11 jumpserver

mysql> show tables;
+----------------------------------------------+
| Tables_in_jumpserver                         |
+----------------------------------------------+
| applications_application                     |
| applications_databaseapp                     |
| applications_k8sapp                          |
| applications_remoteapp                       |
| assets_adminuser                             |
| assets_asset                                 |
| assets_asset_labels                          |
| assets_asset_nodes                           |
| assets_assetgroup                            |
| assets_authbook                              |
| assets_cluster                               |
| assets_commandfilter                         |
| assets_commandfilterrule                     |
| assets_domain                                |
| assets_favoriteasset                         |
| assets_gateway                               |
| assets_gathereduser                          |
| assets_label                                 |
| assets_node                                  |
| assets_platform                              |
| assets_systemuser                            |
| assets_systemuser_assets                     |
| assets_systemuser_cmd_filters                |
| assets_systemuser_groups                     |
| assets_systemuser_nodes                      |
| assets_systemuser_users                      |
| audits_ftplog                                |
| audits_operatelog                            |
| audits_passwordchangelog                     |
| audits_userloginlog                          |
| auth_group                                   |
| auth_group_permissions                       |
| auth_permission                              |
| authentication_accesskey                     |
| authentication_loginconfirmsetting           |
| authentication_loginconfirmsetting_reviewers |
| authentication_privatetoken                  |
| authentication_ssotoken                      |
| captcha_captchastore                         |
| django_admin_log                             |
| django_cas_ng_proxygrantingticket            |
| django_cas_ng_sessionticket                  |
| django_celery_beat_clockedschedule           |
| django_celery_beat_crontabschedule           |
| django_celery_beat_intervalschedule          |
| django_celery_beat_periodictask              |
| django_celery_beat_periodictasks             |
| django_celery_beat_solarschedule             |
| django_content_type                          |
| django_migrations                            |
| django_session                               |
| jms_oidc_rp_oidcuser                         |
| ops_adhoc                                    |
| ops_adhoc_execution                          |
| ops_adhoc_hosts                              |
| ops_celerytask                               |
| ops_commandexecution                         |
| ops_commandexecution_hosts                   |
| ops_task                                     |
| orgs_organization                            |
| orgs_organization_members                    |
| perms_applicationpermission                  |
| perms_applicationpermission_applications     |
| perms_applicationpermission_system_users     |
| perms_applicationpermission_user_groups      |
| perms_applicationpermission_users            |
| perms_assetpermission                        |
| perms_assetpermission_assets                 |
| perms_assetpermission_nodes                  |
| perms_assetpermission_system_users           |
| perms_assetpermission_user_groups            |
| perms_assetpermission_users                  |
| perms_databaseapppermission                  |
| perms_databaseapppermission_database_apps    |
| perms_databaseapppermission_system_users     |
| perms_databaseapppermission_user_groups      |
| perms_databaseapppermission_users            |
| perms_k8sapppermission                       |
| perms_k8sapppermission_k8s_apps              |
| perms_k8sapppermission_system_users          |
| perms_k8sapppermission_user_groups           |
| perms_k8sapppermission_users                 |
| perms_rebuildusertreetask                    |
| perms_remoteapppermission                    |
| perms_remoteapppermission_remote_apps        |
| perms_remoteapppermission_system_users       |
| perms_remoteapppermission_user_groups        |
| perms_remoteapppermission_users              |
| perms_usergrantedmappingnode                 |
| settings_setting                             |
| terminal                                     |
| terminal_command                             |
| terminal_commandstorage                      |
| terminal_replaystorage                       |
| terminal_session                             |
| terminal_status                              |
| terminal_task                                |
| tickets_comment                              |
| tickets_ticket                               |
| tickets_ticket_assignees                     |
| users_user                                   |
| users_user_groups                            |
| users_user_user_permissions                  |
| users_usergroup                              |
+----------------------------------------------+
104 rows in set (0.00 sec)

查看端口

验证登录:

 

 

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Docker是一种流行的容器化技术,可以帮助我们更轻松地部署和管理应用程序。要在Docker部署JumpServer,您可以按照以下步骤操作: 1. 安装DockerDocker Compose 2. 下载JumpServerDocker Compose文件 3. 修改Docker Compose文件中的配置,例如数据库密码和管理员账户密码 4. 运行Docker Compose命令,启动JumpServer容器 5. 访问JumpServer的Web界面,进行初始化设置和管理 需要注意的是,部署JumpServer需要一定的技术水平和经验,如果您不熟悉DockerJumpServer的配置和管理,建议先学习相关知识或寻求专业人士的帮助。 ### 回答2: Docker是一种流行的容器化技术,能够实现快速、可靠的应用程序部署Jumpserver是一种远程连接管理工具,可让用户通过Web界面安全地远程连接到受控节点。下面将介绍如何使用Docker部署Jumpserver。 1. 首先需要安装Docker,可以在官网上下载。安装成功后,可以通过docker version命令检查版本。 2. 下载Jumpserver Docker镜像。可以从Docker Hub上下载Jumpserver镜像,使用以下命令: ``` docker pull jumpserver/jumpserver ``` 3. 创建Jumpserver容器。使用以下命令创建Jumpserver容器: ``` docker run --name jumpserver -d --restart=always \ -p 80:80 -p 2222:2222 -p 50000-50100:50000-50100 \ -v /config:/opt/jumpserver/data \ -v /logs:/opt/jumpserver/logs \ -v /ssh:/opt/jumpserver/ssh \ --env DB_HOST=<DB_HOST> \ --env DB_PORT=<DB_PORT> \ --env DB_NAME=<DB_NAME> \ --env DB_USER=<DB_USER> \ --env DB_PASSWORD=<DB_PASSWORD> \ jumpserver/jumpserver ``` 注意:需要将<DB_HOST>、<DB_PORT>、<DB_NAME>、<DB_USER>和<DB_PASSWORD>替换为实际的数据库连接信息。 4. 初始化Jumpserver。使用以下命令初始化Jumpserver: ``` docker exec -it jumpserver /bin/bash cd /opt/jumpserver/utils && sh make_migrations.sh && sh make_ssh_keys.sh && sh init_db.sh ``` 5. 配置Nginx反向代理。可以通过安装Nginx并配置反向代理来实现对Jumpserver的访问控制和SSL加密。 6. 登录Jumpserver。在浏览器中访问Jumpserver的IP地址或域名以登录。默认管理员用户名为admin,密码为admin。 通过上述步骤,我们可以快速、可靠地部署Jumpserver,并实现远程连接管理。Docker容器化技术为Jumpserver部署提供了便利性和灵活性,大大提高了部署效率和管理效率。 ### 回答3: JumpServer 是一个全球领先的开源堡垒机,为企业提供安全、快速、便捷的远程访问解决方案。Docker 能够将应用程序及其依赖项打包为容器,使应用程序可以在任何环境中运行。因此,将 JumpServer 部署Docker 上能够让部署变得更为简单、易用、灵活,同时也方便了版本控制和管理。 部署步骤: 1. 准备Docker环境。首先确保Docker环境已正确安装到服务器上; 2. 配置数据库JumpServer对应用程序数据进行了分离,需要单独配置数据库。可以使用如下命令来启动数据库容器: ``` docker run --name mysql -e MYSQL_ROOT_PASSWORD=jumpserver -p 3306:3306 -d mysql:5.7 --character-set-server=utf8 --collation-server=utf8_general_ci ``` 其中 "-e" 参数可以指定 Mysql 的 root 密码,"-p" 参数可以将容器内部的 3306 端口映射到宿主机上的 3306 端口。 3. 配置Redis容器。使用下列命令启动 Redis 容器: ``` docker run --name redis -p 6379:6379 -d redis redis-server --appendonly yes ``` 4. 准备JumpServer容器。首先拉取JumpServer 镜像,可以在官方网站或镜像库中查找相应版本的 JumpServer 镜像; 5. 启动JumpServer容器。可以使用下列命令启动 JumpServer 容器: ``` docker run --name jms -d -p 80:80 -p 2222:2222 -e DB_HOST=host.docker.internal -e DB_PASSWORD=jumpserver -e JUMP_SERVER_HOST=your.jump.server.com -e SECRET_KEY=jumpserver -e BOOTSTRAP_TOKEN=your_boostrap_token --link mysql:mysql --link redis:redis jumpserver/jms_all:latest ``` 其中 "-d" 参数表示容器会以后台运行,"-p" 参数可以将容器内部的 80 端口映射到宿主机上的 80 端口和映射容器内的 2222 端口到宿主机上的 2222 端口,"-e" 参数可以设置 JumpServer 环境变量,例如数据库主机地址、密码、JumpServer 站点地址等。 6. 查看JumpServer。等待 JumpServer 容器启动后,可以在浏览器中输入映射过的本地地址(例如localhost或ip地址)来访问JumpServer安装页面。 总结 使用Docker 部署 JumpServer 能够让应用程序跨平台运行,方便开发与管理。同时,可以使用 Docker Compose 管理多个容器,达到快速搭建高可用的应用程序的效果。需要注意的是,在使用Docker或其他虚拟化技术时,容器内部的 IP 地址与外部会存在不一致的问题,可以通过端口映射和环境变量等方法进行调整。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值