docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > docker分布式部署jumpserver

docker分布式部署jumpserver实践

作者:Y。S。H。

文章介绍了如何部署分布式JumpServer,包括定义网络和数据持久化、部署数据库、配置Redis密码、生成随机加密秘钥并启动JumpServer容器,作者建议在启动前检查SECRET_KEY是否一致,以确保数据库加密字段的解密

部署分布式jumpserver

1、 定义网络和数据持久化

docker network create --driver=bridge \
--subnet=192.168.20.0/24 --gateway=192.168.20.1 jump-network
#定义私有网络192.168.20.0/24
docker volume create jump_mysql
docker volume create jumpserver
#数据库持久化和jumpserver数据持久化

2、 部署数据库

docker run --name jump-mysql \
--network jump-network --ip 192.168.20.2 \
-v jump_mysql:/var/lib/mysql \
-p 3306:3306 \
-e MYSQL_DATABASE="jumpserver" \
-e MYSQL_USER="jumpserver" \
-e MYSQL_PASSWORD="jumpserver" \
-e MYSQL_ROOT_PASSWORD="jumpserver" \
-d mysql:5.7 \
--character-set-server=utf8 \
--collation-server=utf8_unicode_ci

3、部署redis

docker run --name jump-redis \
--network jump-network --ip 192.168.20.3 \
-p 6379:6379 \
-d redis \
--requirepass "111111"

–requirepass “111111”:配置密码

4、部署jumpserver

生成随机加密秘钥

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

记下秘钥,启动jumpserver环境变量使用

环境迁移和更新升级请检查 SECRET_KEY 是否与之前设置一致, 不能随机生成, 否则数据库所有加密的字段均无法解密

启动jumpserver容器

docker run --name jms_all -d \
  --network jump-network --ip 192.168.20.4 \
  -v jumpserver:/opt/jumpserver/data/media \
  -p 80:80 \
  -p 2222:2222 \
  -e SECRET_KEY=xxxxxxxxxxxxxxxxxx \
  -e BOOTSTRAP_TOKEN=xxxxxxx \
  -e DB_HOST=192.168.20.2 \
  -e DB_PORT=3306 \
  -e DB_USER=jumpserver \
  -e DB_PASSWORD=jumpserver \
  -e DB_NAME=jumpserver \
  -e REDIS_HOST=192.168.20.3 \
  -e REDIS_PORT=6379 \
  -e REDIS_PASSWORD=111111\
  jumpserver/jms_all

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文