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