# Dockerfile
Jumpserver all in one Dockerfile
This project is Docker image build.
该项目是 Jumpserver 项目的 Docker 镜像生成代码
## How to start
环境迁移和更新升级请检查 SECRET_KEY 是否与之前设置一致, 不能随机生成, 否则数据库所有加密的字段均无法解密
### Quick start
仅在测试环境中快速部署验证功能使用, 生产环境请使用 [标准部署](https://github.com/jumpserver/Dockerfile)
```sh
docker network create jms_net --subnet=192.168.250.0/24
docker run --name jms_mysql --network jms_net -d \
-e MARIADB_ROOT_PASSWORD=weakPassword \
-e MARIADB_DATABASE=jumpserver \
mariadb:10
docker run --name jms_all --network jms_net --rm \
-e DB_HOST=jms_mysql \
-e DB_USER=root \
-e DB_PASSWORD=weakPassword \
--privileged=true \
jumpserver/jms_all:v2.20.2 init_db
docker run --name jms_all --network jms_net -d \
-p 80:80 \
-p 2222:2222 \
-e LOG_LEVEL=ERROR \
-e DB_HOST=jms_mysql \
-e DB_USER=root \
-e DB_PASSWORD=weakPassword \
-e DB_NAME=jumpserver \
--privileged=true \
jumpserver/jms_all:v2.20.2
```
```sh
# 测试完毕后清理环境
docker stop jms_all
docker rm jms_all
docker stop jms_mysql
docker rm jms_mysql
docker volume prune -f
docker network prune -f
```
### Standard start
使用外置 MySQL 数据库和 Redis:
- 外置数据库要求 MySQL 版本大于等于 5.7
- 外置 Redis 要求 Redis 版本大于等于 6.0
```sh
# 自行部署 MySQL 可以参考 (https://docs.jumpserver.org/zh/master/install/setup_by_lb/#mysql)
# mysql 创建用户并赋予权限, 请自行替换 nu4x599Wq7u0Bn8EABh3J91G 为自己的密码
mysql -u root -p
```
```mysql
create database jumpserver default charset 'utf8';
create user 'jumpserver'@'%' identified by 'nu4x599Wq7u0Bn8EABh3J91G';
grant all on jumpserver.* to 'jumpserver'@'%';
flush privileges;
```
```sh
# 自行部署 Redis 可以参考 (https://docs.jumpserver.org/zh/master/install/setup_by_lb/#redis)
```
**设置环境变量:**
- SECRET_KEY = xxxxx # 自行生成随机的字符串, 不要包含特殊字符串, 长度推荐大于等于 50
- BOOTSTRAP_TOKEN = xxxxx # 自行生成随机的字符串, 不要包含特殊字符串, 长度推荐大于等于 24
- LOG_LEVEL = ERROR # 日志等级, 测试环境推荐设置为 DEBUG
- DB_ENGINE = mysql # 使用 MySQL 数据库
- 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 持久化目录
注意:自己上面设置的这些信息一定要记录下来。升级需要重新输入使用
**初始化数据库**
```bash
docker run --name jms_all --rm \
-v /opt/jumpserver/core/data:/opt/jumpserver/data \
-v /opt/jumpserver/koko/data:/opt/koko/data \
-v /opt/jumpserver/lion/data:/opt/lion/data \
-e SECRET_KEY=xxxxxx \
-e BOOTSTRAP_TOKEN=xxxxxx \
-e LOG_LEVEL=ERROR \
-e DB_HOST=192.168.x.x \
-e DB_PORT=3306 \
-e DB_USER=jumpserver \
-e DB_PASSWORD=weakPassword \
-e DB_NAME=jumpserver \
-e REDIS_HOST=192.168.x.x \
-e REDIS_PORT=6379 \
-e REDIS_PASSWORD=weakPassword \
jumpserver/jms_all:v2.20.2 init_db # 确定无报错
```
**启动 JumpServer**
```bash
docker run --name jms_all -d \
-v /opt/jumpserver/core/data:/opt/jumpserver/data \
-v /opt/jumpserver/koko/data:/opt/koko/data \
-v /opt/jumpserver/lion/data:/opt/lion/data \
-p 80:80 \
-p 2222:2222 \
-e SECRET_KEY=xxxxxx \
-e BOOTSTRAP_TOKEN=xxxxxx \
-e LOG_LEVEL=ERROR \
-e DB_HOST=192.168.x.x \
-e DB_PORT=3306 \
-e DB_USER=jumpserver \
-e DB_PASSWORD=weakPassword \
-e DB_NAME=jumpserver \
-e REDIS_HOST=192.168.x.x \
-e REDIS_PORT=6379 \
-e REDIS_PASSWORD=weakPassword \
--privileged=true \
jumpserver/jms_all:v2.20.2
```
**升级**
```bash
# 查询定义的 JumpServer 配置
docker exec -it jms_all env
# 停止 JumpServer
docker stop jms_all
# 备份数据库, 下面用到的 DB-xxx 从上面的 docker exec -it jms_all env 结果获取
mysqldump -h$DB_HOST -p$DB_PORT -u$DB_USER -p$DB_PASSWORD $DB_NAME > /opt/jumpserver-<版本号>.sql
# 例: mysqldump -h192.168.100.11 -p3306 -ujumpserver -pnu4x599Wq7u0Bn8EABh3J91G jumpserver > /opt/jumpserver-v2.12.0.sql
# 拉取新版本镜像
docker pull jumpserver/jms_all:v2.20.2
# 删掉旧版本容器
docker rm jms_all
# 处理数据库合并
docker run --name jms_all --rm \
-v /opt/jumpserver/core/data:/opt/jumpserver/data \
-v /opt/jumpserver/koko/data:/opt/koko/data \
-v /opt/jumpserver/lion/data:/opt/lion/data \
-e SECRET_KEY=****** \ # 自行修改成你的旧版本 SECRET_KEY, 丢失此 key 会导致数据无法解密
-e BOOTSTRAP_TOKEN=****** \ # 自行修改成你的旧版本 BOOTSTRAP_TOKEN
-e LOG_LEVEL=ERROR \
-e DB_HOST=192.168.x.x \ # 自行修改成你的旧版本 MySQL 服务器, 设置不对数据丢失
-e DB_PORT=3306 \
-e DB_USER=jumpserver \
-e DB_PASSWORD=****** \
-e DB_NAME=jumpserver \
-e REDIS_HOST=192.168.x.x \ # 自行修改成你的旧版本 Redis 服务器
-e REDIS_PORT=6379 \
-e REDIS_PASSWORD=****** \
jumpserver/jms_all:v2.20.2 upgrade # 确定无报错
# 启动新版本
docker run --name jms_all -d \
-v /opt/jumpserver/core/data:/opt/jumpserver/data \
-v /opt/jumpserver/koko/data:/opt/koko/data \
-v /opt/jumpserver/lion/data:/opt/lion/data \
-p 80:80 \
-p 2222:2222 \
-e SECRET_KEY=****** \ # 自行修改成你的旧版本 SECRET_KEY, 丢失此 key 会导致数据无法解密
-e BOOTSTRAP_TOKEN=****** \ # 自行修改成你的旧版本 BOOTSTRAP_TOKEN
-e LOG_LEVEL=ERROR \
-e DB_HOST=192.168.x.x \ # 自行修改成你的旧版本 MySQL 服务器, 设置不对数据丢失
-e DB_PORT=3306 \
-e DB_USER=jumpserver \
-e DB_PASSWORD=****** \
-e DB_NAME=jumpserver \
-e REDIS_HOST=192.168.x.x \ # 自行修改成你的旧版本 Redis 服务器
-e REDIS_PORT=6379 \
-e REDIS_PASSWORD=****** \
--privileged=true \
jumpserver/jms_all:v2.20.2
```
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
docker安装 docker安装方法有多种,下面列举在Windows和Linux系统中的安装步骤:12 Windows系统中的安装方法: 对于Windows Server系统,可以使用Microsoft发布的PowerShell模块DockerMicrosoftProvider来安装。以管理员身份打开Windows PowerShell,运行相关命令安装包并重启计算机即可。 对于Windows 10系统,需要通过创建Docker账户来下载和安装Docker Desktop(Windows版)。在安装过程中,可以将默认容器类型设置为Windows容器,也可以在安装后更改类型。 Linux系统中的安装方法(以CentOS7为例): 更新系统软件包并安装必要的软件包,如yum-utils、device-mapper-persistent-data和lvm2等。 添加Docker的yum仓库,以便下载并安装Docker。可以通过访问Docker官网的CentOS下载地址获取帮助文档,按步骤进行安装。 安装Docker CE(Community Edition)
资源推荐
资源详情
资源评论
收起资源包目录
通过docker-compose编排一系列环境进行一键快速部署运行,小白运维神器 .zip (1159个子文件)
haproxy.cfg 1KB
my.cnf 2KB
my.cnf 2KB
my.cnf 2KB
my.cnf 2KB
my.cnf 2KB
my.cnf 2KB
my.cnf 2KB
my.cnf 2KB
my.cnf 2KB
my.cnf 2KB
my.cnf 2KB
my.cnf 2KB
my.cnf 1KB
my.cnf 1KB
my.cnf 1KB
my.cnf 649B
my.cnf 649B
redis.conf 104KB
redis.conf 104KB
redis.conf 104KB
redis.conf 104KB
redis.conf 104KB
redis.conf 104KB
redis.conf 104KB
redis.conf 104KB
redis.conf 104KB
redis.conf 104KB
redis.conf 104KB
redis.conf 104KB
redis.conf 104KB
redis.conf 104KB
redis.conf 104KB
redis.conf 83KB
redis.conf 83KB
redis.conf 83KB
redis.conf 83KB
redis.conf 83KB
redis.conf 83KB
redis.conf 83KB
redis.conf 83KB
redis.conf 83KB
redis.conf 83KB
redis.conf 83KB
redis.conf 83KB
redis.conf 83KB
redis.conf 83KB
rabbitmq_bak.conf 34KB
nginx.conf 4KB
nginx.conf 4KB
broker.conf 3KB
broker.conf 3KB
broker.conf 3KB
nginx.conf 3KB
registry.conf 2KB
jumpserver.conf 2KB
nps.conf 2KB
logstash.conf 2KB
logstash.conf 2KB
nginx.conf 2KB
file.conf 2KB
nginx.conf 2KB
sentinel.conf 2KB
sentinel.conf 2KB
sentinel.conf 2KB
nginx.conf 2KB
nginx.conf 2KB
npc.conf 1KB
nginx.conf 1KB
demo.conf 1KB
demo.conf 1KB
default.conf 1016B
default.conf 1016B
default.conf 1016B
config_example.conf 875B
gateway.conf 863B
supervisord.conf 714B
system.conf 554B
tool.conf 548B
10-default-guest-user.conf 388B
redis-sentinel-2.conf 379B
redis-sentinel-1.conf 379B
redis-sentinel-3.conf 379B
logstash-sample.conf 342B
logstash-sample.conf 342B
rabbitmq.conf 266B
rabbitmq.conf 266B
rabbitmq.conf 266B
rabbitmq.conf 266B
rabbitmq.conf 266B
cluster.conf 60B
multi_account.conf 41B
rabbitmq_bak.config 33KB
agent.config 26KB
.erlang.cookie 14B
.erlang.cookie 14B
app.069dd38e.css 216KB
app.069dd38e.css 216KB
app.069dd38e.css 216KB
extra_main.dic 4.6MB
共 1159 条
- 1
- 2
- 3
- 4
- 5
- 6
- 12
资源评论
野生的狒狒
- 粉丝: 2471
- 资源: 2131
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功