
njqaaa/jumpserverJumpserver是一款开源堡垒机,提供服务器集中管理、细粒度权限控制、会话记录与审计等功能。本Docker镜像基于Jumpserver源码构建,支持通过Docker Swarm和overlay网络快速部署,集成MySQL数据库、Redis缓存及coco(SSH终端)、luna(Web界面)组件,适用于企业级服务器管理场景。
所有操作需在宿主机执行,需预先安装Docker和Docker Compose。
bashdocker swarm init
创建用于容器通信的overlay网络,支持容器名解析为IP:
bashdocker network create -d overlay --attachable jumpserver --subnet=192.168.100.0/24
设置必要的环境变量(根据实际情况修改):
bashexport DB_HOST=jumpserver-mysql export DB_USER=root export DB_PASSWORD=mypassword export DB_PORT=3306 export DB_NAME=jumpserver_db export REDIS_HOST=jumpserver-redis export SITE_URL=[***] export EMAIL_PORT=587 export EMAIL_HOST=smtp.xx*** export EMAIL_HOST_USER=*** export EMAIL_HOST_PASSWORD=****** export JUMPSERVER_ENDPOINT=[***]
bashdocker run -d --restart=always --name $DB_HOST -e MYSQL_ROOT_PASSWORD=$DB_PASSWORD --network jumpserver mysql:5.7
等待MySQL启动完成(约10秒)后执行:
bashdocker exec -it $DB_HOST mysql -u$DB_USER -p$DB_PASSWORD -e 'CREATE DATABASE '$DB_NAME' DEFAULT CHARACTER SET utf8 ';
bashdocker run -d --restart=always --name $REDIS_HOST --network jumpserver redis
创建环境变量配置文件:
bashecho -e "DB_HOST=$DB_HOST\nDB_USER=$DB_USER\nDB_PASSWORD=$DB_PASSWORD\nDB_NAME=$DB_NAME\nREDIS_HOST=$REDIS_HOST\nSITE_URL=$SITE_URL\nEMAIL_PORT=$EMAIL_PORT\nEMAIL_HOST=$EMAIL_HOST\nEMAIL_HOST_USER=$EMAIL_HOST_USER\nEMAIL_HOST_PASSWORD=$EMAIL_HOST_PASSWORD" > /tmp/envinfo
配置文件内容示例:
DB_HOST=jumpserver-mysql DB_USER=root DB_PASSWORD=mypassword DB_NAME=jumpserver_db REDIS_HOST=jumpserver-redis SITE_URL=[***] EMAIL_PORT=587 EMAIL_HOST=smtp.xx*** EMAIL_HOST_USER=*** EMAIL_HOST_PASSWORD=******
| 参数 | 描述 | 默认值 |
|---|---|---|
| SECRET_KEY | 系统安全密钥 | 2vym+ky!997d5kkcc64mnz06y1mmui3lut#(^wd=%s_qj$1%x |
| SITE_URL | 网站访问URL | http://localhost |
| DOMAIN_NAME | 域名 | jumpserver.org |
| DEBUG | 调试模式开关 | True |
| REDIS_HOST | Redis主机地址 | 127.0.0.1 |
| REDIS_PORT | Redis端口 | 6379 |
| REDIS_PASSWORD | Redis密码 | 空 |
| DB_HOST | MySQL主机地址 | 127.0.0.1 |
| DB_PORT | MySQL端口 | 3306 |
| DB_USER | MySQL用户名 | root |
| DB_PASSWORD | MySQL密码 | root |
| DB_NAME | 数据库名称 | jumpserver_db |
| EMAIL_HOST | SMTP服务器地址 | smtp.qq.com |
| EMAIL_PORT | SMTP端口 | 465 |
| EMAIL_HOST_USER | 邮件发送账号 | admin |
| EMAIL_HOST_PASSWORD | 邮件发送密码 | somepasswrd |
| EMAIL_SUBJECT_PREFIX | 邮件主题前缀 | [Jumpserver] |
启动Jumpserver主服务,映射到宿主机80端口:
bashdocker run -d --restart=always --name jumpserver -p 80:80 --env-file=/tmp/envinfo -v /var/log/jumpserver:/root/jumpserver/logs --network jumpserver njqaaa/jumpserver
执行数据库初始化脚本:
bashdocker exec -it jumpserver bash /root/jumpserver/init_db.sh
验证服务是否正常启动:
bashdocker exec -it jumpserver curl -i 127.0.0.1
bashdocker run -d --restart=always -e 'JUMPSERVER_ENDPOINT='$JUMPSERVER_ENDPOINT'' --name coco -p 2222:2222 --network jumpserver njqaaa/coco
bashdocker run -d --restart=always -e 'JUMPSERVER_ENDPOINT='$JUMPSERVER_ENDPOINT'' --name luna -p 5000:5000 --network jumpserver njqaaa/luna
默认管理员账号密码:
通过SITE_URL配置的地址访问Web界面,或通过2222端口使用SSH客户端连接coco服务。






manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务