備忘如下:
docker run --name jms_all -d \
-v /data/jump/mysql:/var/lib/mysql \
-v /data/jump/jumpserver:/opt/jumpserver/data/media \
-p 80:80 -p 2222:2222 -e SECRET_KEY=$SECRET_KEY -e BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN jumpserver/jms_all:latest
Jumpserver 封裝了一個 All in one Docker, 可以快速啟動。該鏡像集成了所需要的組件, 支持使用外置 Database 和 Redis
Tips: 不建議在生產中使用, 因為所有軟件都打包到一個Docker中了, 不是Docker最佳實踐
快速啟動
- 使用 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
$ 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
$ docker run --name jms_all -d -p 80:80 -p 2222:2222 -e SECRET_KEY=$SECRET_KEY -e BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN jumpserver/jms_all:1.4.8
macOS 生成隨機 key 可以用下面的命令
$ if [ "$SECRET_KEY" = "" ]; then SECRET_KEY=LC_CTYPE=C tr -dc A-Za-z0-9 < /dev/urandom | head -c 50
; echo "SECRET_KEY=$SECRET_KEY" >> ~/.bash_profile; echo $SECRET_KEY; else echo $SECRET_KEY; fi
$ if [ "$BOOTSTRAP_TOKEN" = "" ]; then BOOTSTRAP_TOKEN=LC_CTYPE=C tr -dc A-Za-z0-9 < /dev/urandom | head -c 16
; echo "BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN" >> ~/.bash_profile; echo $BOOTSTRAP_TOKEN; else echo $BOOTSTRAP_TOKEN; fi
訪問
- 瀏覽器訪問: http://<容器所在服務器IP>
- SSH 訪問: ssh -p 2222 <容器所在服務器IP>
- XShell 等工具請添加 connection 連接, 默認 ssh 端口 2222
- 默認管理員賬戶 admin 密碼 admin
外置數據庫要求
- mysql 版本需要大於等於 5.6
- mariadb 版本需要大於等於 5.5.6
- 數據庫編碼要求 uft8
創建數據庫
- 創建數據庫命令行
mysql
$ create database jumpserver default charset 'utf8';
$ grant all on jumpserver.* to 'jumpserver'@'%' identified by 'weakPassword';
額外環境變量
- SECRET_KEY = ******
- BOOTSTRAP_TOKEN = ******
- DB_HOST = mysql_host
- DB_PORT = 3306
- DB_USER = jumpserver
- DB_PASSWORD = weakPassword
- DB_NAME = jumpserver
- REDIS_HOST = 127.0.0.1
- REDIS_PORT = 6379
- REDIS_PASSWORD =
- VOLUME /opt/jumpserver/data/media
- VOLUME /var/lib/mysql
$ docker run --name jms_all -d
-v /opt/jumpserver:/opt/jumpserver/data/media
-p 80:80
-p 2222:2222
-e SECRET_KEY=xxxxxx
-e BOOTSTRAP_TOKEN=xxx
-e DB_HOST=192.168.x.x
-e DB_PORT=3306
-e DB_USER=root
-e DB_PASSWORD=xxx
-e DB_NAME=jumpserver
-e REDIS_HOST=192.168.x.x
-e REDIS_PORT=6379
-e REDIS_PASSWORD=xxx
jumpserver/jms_all:1.4.8
倉庫地址