Docker 部署 JumpServer
环境:CentOS7
一、简介
JumpServer是使用Python的Django开发的开源跳板机系统,为互联网企业提供了认证、授权、审计和自动化运维等功能。
JumpServer官网网址为:https://www.jumpserver.org
二、安装 Docker
三、利用 Docker 安装 MySQL
1.创建目录
mkdir -p /docke/mysql/data
2.运行 MySQL5.7 容器
docker run -d --name mysql --restart=always \ -e MYSQL_ROOT_PASSWORD=password \ -p 3306:3306 \ -v /docker/mysql/data:/var/lib/mysql \ mysql:5.7 --character-set-server=utf8mb4 \ --collation-server=utf8mb4_unicode_ci
3.创建 JumpServer 数据库,并授权
docker exec -it mysql /bin/bash # 进入 MySQL 容器 mysql -u root -ppassword create database jumpserver default charset 'utf8mb4'; grant all on jumpserver.* to 'jumpserver'@'%' identified by 'password'; flush privileges; exit exit
四、利用 Docker 安装 Redis
1.创建目录
mkdir -p /docker/redis/data
2.运行 Redis 容器
docker run -d -it --name redis -p 6379:6379 \ -v /mnt/redis/data:/data \ --restart=always \ --sysctl net.core.somaxconn=1024 \ redis:7.0 --requirepass "123456"
五、生成随机加密密钥
SECRET_KEY 很重要,以后升级或者迁移数据需要用到。
生成随机加密秘钥, 勿外泄,使用 root 身份在服务器上输入。
环境迁移和更新升级请检查 SECRET_KEY 是否与之前设置一致, 不能随机生成, 否则数据库所有加密的字段均无法解密。
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
![](https://img2022.cnblogs.com/blog/2880420/202206/2880420-20220623212157101-135378988.png)
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
![](https://img2022.cnblogs.com/blog/2880420/202206/2880420-20220623212238282-1749180254.png)
六、运行 JumpServer 容器
1.创建目录,查看宿主机ip
mkdir -p /docker/jumpserver/data
ip a
![](https://img2022.cnblogs.com/blog/2880420/202206/2880420-20220623212949003-785401679.png)
2.运行 JumpServer 容器
docker run -d --name jumpserver -h jumpserver --restart=always \ -v /docker/jumpserver/data:/opt/jumpserver/data/media \ -p 80:80 \ -p 2222:2222 \ -e SECRET_KEY=$SECRET_KEY \ -e BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN \ -e DB_HOST=192.168.66.12 \ -e DB_PORT=3306 \ -e DB_USER=jumpserver \ -e DB_PASSWORD="password" \ -e DB_NAME=jumpserver \ -e REDIS_HOST=192.168.66.12 \ -e REDIS_PORT=6379 \ -e REDIS_PASSWORD="123456" \ jumpserver/jms_all:v2.23.1
![](https://img2022.cnblogs.com/blog/2880420/202206/2880420-20220623224146903-2016895865.png)
3.查看 JumpSerrver 日志
docker logs -f jumpserver
4.访问页面
打开浏览器输入宿主机ip地址:192.168.66.12 用户名:admin 密码:admin
![](https://img2022.cnblogs.com/blog/2880420/202206/2880420-20220623224358036-1883721946.png)
需要修改密码
![](https://img2022.cnblogs.com/blog/2880420/202206/2880420-20220623224432970-595425677.png)
输入修改好的密码重新登录
![](https://img2022.cnblogs.com/blog/2880420/202206/2880420-20220623224530397-1905186368.png)