docker 安装jumpserver

摘要:
#Docker安装mkdir/etc/dockerecho“{”注册表镜像“:[”https://registry.docker-cn.com "," https://docker.mirrors.ustc.edu.cn "," http://hub-mirror.c.163.com "," https://cr.console.aliyun.com/“]}”˃˃/etc/docker/

#docker 安装
mkdir /etc/docker
echo "{
    "registry-mirrors" : [
    "https://registry.docker-cn.com",
    "https://docker.mirrors.ustc.edu.cn",
    "http://hub-mirror.c.163.com",
    "https://cr.console.aliyun.com/"
  ]
}">>/etc/docker/daemon.json


yum -y install yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum -y install docker-ce
systemctl start docker && systemctl enable docker

#生成秘钥
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

注:生成完 SECRET_KEY 和 BOOTSTRAP_TOKEN 变量后一定要确认一下,如果出现异常将会影响到后面的过程

docker 安装jumpserver第1张

创建jms容器中的日志及数据挂到宿机的目录
mkdir -p /jumpserver/jumpserver/data
mkdir -p /jumpserver/koko/data
mkdir -p /jumpserver/nginx/logs
mkdir -p /jumpserver/mysql/{data,logs}

==============  不管用以下哪种方法都要执行以上操作 创建完容器后一定要等几分钟再访问  =====================

方法1:

#pull镜像和创建容器(所有数据都在容器中)
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:latest

网页登录容器所在IP,账密:admin/admin

docker 安装jumpserver第2张

方法2:(个人推荐使用该方法)

1、容器中的jumpserver的数据在/opt/jumpserver/data目录中,日志在/opt/jumpserver/logs目录中,初始化数据库在/opt/jumpserver/utils目录中,配置文件在/opt/jumpserver/config.yml文件中,启动jumpserver命令为/opt/jumpserver/jms { start | restart | stop }

2、koko插件的配置文件在/opt/koko/config.yml文件中,数据在/opt/koko/data目录中

docker run --name jms_all -d
-p 80:80 -p 2222:2222
-e SECRET_KEY=$SECRET_KEY
-e BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN
-v /jumpserver/jumpserver/data:/opt/jumpserver/data
-v /jumpserver/jumpserver/logs:/opt/jumpserver/logs
-v /jumpserver/koko/data:/jumpserver/koko/data
-v /jumpserver/nginx/logs:/var/log/nginx/
jumpserver/jms_all:latest

#测试(其他机器连接172.16.186.131,连接用户是admin,密码是admin)

docker 安装jumpserver第3张

方法3:(该方法顺序不能变)

#docker pull mysql
docker run --restart=always
--name mysql5.7 -id
-e MYSQL_DATABASE="jumpserver"
-e MYSQL_USER="jumpserver"
-e MYSQL_PASSWORD="AA7788aa"
-e MYSQL_ROOT_PASSWORD="AA7788aa"
-v /jumpserver/mysql/data:/var/lib/mysql
-v /jumpserver/mysql/logs:/var/log/mysql/
-p 3306:3306 -d mysql:5.7.20

#docker pull redis
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo "vm.overcommit_memory=1">>/etc/sysctl.conf
echo "net.core.somaxconn= 1024">>/etc/sysctl.conf
echo "'echo never > /sys/kernel/mm/transparent_hugepage/enabled'">>/etc/rc.local
sysctl -p
docker run -p 6379:6379 --name redis -v /jumpserver/redis/data:/data -d redis redis-server --requirepass "A12345a" --appendonly yes

redis容器中登录方式

docker 安装jumpserver第4张

 
#docker pull jms
docker run --restart=always
--name jms_all -d
-p 80:80 -p 2222:2222
-e SECRET_KEY=$SECRET_KEY
-e BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN
-v /jumpserver/jumpserver/data:/opt/jumpserver/data
-v /jumpserver/jumpserver/logs:/opt/jumpserver/logs
-v /jumpserver/koko/data:/jumpserver/koko/data
-v /jumpserver/nginx/logs:/var/log/nginx/
-e DB_HOST="mysql5.7"
-e DB_PORT=3306
-e DB_USER=root
-e DB_PASSWORD=AA7788aa
-e DB_NAME=jumpserver
--link mysql5.7:mysql
-e REDIS_HOST=redis
-e REDIS_PORT=6379
-e REDIS_PASSWORD=A12345a
--link redis:redis
jumpserver/jms_all:latestdocker 安装jumpserver第5张

                      注:创建完容器后要稍等一下在去页面访问。

方法4:(该方法适合在无互联网环境中使用且只需redis和jms_all即可)

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

mkdir -p /jumpserver/jumpserver/data
mkdir -p /jumpserver/koko/data
mkdir -p /jumpserver/nginx/logs
mkdir -p /jumpserver/mysql/{data,logs}

echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo "vm.overcommit_memory=1">>/etc/sysctl.conf
echo "net.core.somaxconn= 1024">>/etc/sysctl.conf
echo "'echo never > /sys/kernel/mm/transparent_hugepage/enabled'">>/etc/rc.local
sysctl -p

#需在互联网中将redis和jms_all的镜像pull下来,再打成tar包发送至内网环境中,并导入进去
将镜像打包
docker save -o <new_name>.tar  <ImageID>
导入镜像
docker load -i <new_name>.tar
将镜像更换名
docker tag <images_name>:<tag> <image_name>:<tag>

docker run -p 6379:6379 --name redis -v /jumpserver/redis/data:/data -d redis redis-server --requirepass "A12345a" --appendonly yes

docker run --restart=always
--name jms_all -d
-p 80:80 -p 2222:2222
-e SECRET_KEY=$SECRET_KEY
-e BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN
-v /jumpserver/jumpserver/data:/opt/jumpserver/data
-v /jumpserver/jumpserver/logs:/opt/jumpserver/logs
-v /jumpserver/koko/data:/jumpserver/koko/data
-v /jumpserver/nginx/logs:/var/log/nginx/
-v /jumpserver/mysql/data:/var/lib/mysql/
-v /jumpserver/mysql/logs:/var/log/mariadb/
-e REDIS_HOST=redis
-e REDIS_PORT=6379
-e REDIS_PASSWORD=A12345a
--link redis:redis
jms_all:latest

注:如在创建jms容器时报错,需先将-v /jumpserver/mysql/logs:/var/log/mariadb/ 这条去掉,再创建,无问题后再删掉容器后再加上-v /jumpserver/mysql/logs:/var/log/mariadb/ 选项来创建jms容器

docker 安装jumpserver第6张

docker容器设置开机自启动:
--restart具体参数值详细信息
no - 容器退出时,不重启容器
on-failure - 只有在非0状态退出时才从新启动容器
always - 无论退出状态是如何,都重启容器
使用 on-failure 策略时指定 Docker 将尝试重新启动容器的最大次数;默认情况下Docker将尝试永远重新启动容器;
docker run --restart=on-failure:10 redis
如果创建容器时未指定 --restart=always ,可通过 update 命令更改;    
docker update --restart=always 容器ID

如未使用--restart=always选项,在服务器或其他情况导致服务器关机/重启,再次启动容器时需先起MySQL、redis,最后起jms

添加windows系列主机

先创建组,左侧“用户管理”---用户组---创建---填写信息---提交

docker 安装jumpserver第7张

创建用户

左侧“用户管理”---用户列表---创建---填写信息(如下图,下图为填写好以后的)---提交

docker 安装jumpserver第8张

创建管理用户

左侧“资产管理”---管理用户---创建---填写信息(名称可自定义,用户名填写登录被控机的账号和密码)---提交

docker 安装jumpserver第9张

创建系统用户

左侧“资产管理”---系统用户---创建---填写信息---提交

(名称可自定义,windows也可以自动登录,用户名为登录登录被控机的账户,优先级默认,协议为rdp,自动推送关闭,密码为登录被控机的密码)

docker 安装jumpserver第10张

将资产授权给用户

左侧“权限管理”---资产授权---创建---填写信息---提交

docker 安装jumpserver第11张

注:上图中的开始日期和失效日期为可选项

以上所有都得保证下图中的2个服务是在线状态,如下图所示 docker 安装jumpserver第12张

用户登录

docker 安装jumpserver第13张

注:账密为服务端中“用户管理”---“用户列表”中的,客户端登录时用户名为“用户列表”中的用户名列,密码为自定义的

docker 安装jumpserver第14张

点击上图中的“动作”列中的第一个图标即可连到windows被控端,如下图所示(因为在服务端授权时选的“自动登录”,所以点完“动作”列中的第一个图标后可以直接连进来)

 docker 安装jumpserver第15张

添加Linux主机

组、用户还用上面的“张三”,因为该项仅供web端登录使用

创建管理用户

资产管理----管理用户----创建(名称自定义,用户名和密码为linux端的一个用户和对应的密码)

docker 安装jumpserver第16张

创建系统用户

资产管理----系统用户----创建

docker 安装jumpserver第17张

 注:上图中的名称可自定义,sudo项为使用zs用户登录进去后能执行的命令

添加资产

资产管理----资产列表----添加资产----创建(主机名必须如实写)

docker 安装jumpserver第18张

docker 安装jumpserver第19张

资产授权

权限管理----资产授权----创建

docker 安装jumpserver第20张

还是使用张三用户登录进行查看/测试

docker 安装jumpserver第21张

 注:可以看到使用zs用户执行id命令时产生了一个报错,待解决!!!

或者使用官方的脚本安装

# https://github.com/jumpserver/jumpserver/releases
wget https://github.com/jumpserver/jumpserver/releases/download/2.0.1/quick_start.sh
sh -x quick_start.sh
注:使用该方式时需要把koko容器中的logs目录单独挂出来,不然日志随着时间的推移会越来越大(容器中的日志在/config/tomcat9/logs)
或参考

    欢迎加入QQ群一起讨论Linux、开源等技术

docker 安装jumpserver第22张

免责声明:文章转载自《docker 安装jumpserver》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Web Magic 总体架构误码率仿真,蒙特卡罗方法,置信度下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MySQL调优基础, 与hikari数据库连接池配合

1.根据硬件配置系统参数 wait_timeout   非交互连接的最大存活时间, 10-30min    max_connections   全局最大连接数 默认100 根据情况调整    back_log    达到max_connections后, 还能继续接受的连接请求数, linux不超过1000, 根据情况调整  thread_concurre...

MySQL中REGEXP正则表达式使用大全

REGEXP在mysql是用来执行正则表达式的一个函数 像php中的preg之类的函数了,regexp正则函数如果只是简单的查询使用like即可,但复杂的还是需要使用regexp了,下面我们来看看。 MySql用户手册建议,在构造简单查询时,仍使用通配符。 如:Select [*|fieldname list] From [tablename] whe...

linux性能评估-内存案例实战篇

1.内存泄漏,该如何定位和处理 2.内存中的Buffer 和 Cache 在不同场景下的使用情况 场景 1:磁盘和文件写案例 场景 2:磁盘和文件读案例 1.内存泄漏,该如何定位和处理 机器配置:2 CPU,4GB 内存 预先安装 sysstat、Docker 以及 bcc 软件包,比如: # install sysstat docker s...

【SequoiaDB】2 巨杉数据库SequoiaDB可视化部署

上篇介绍了如何可视化安装巨杉数据库Sequoia DB SAC,本篇进行演示如何一键部署集群以及数据库。 1)登录SAC (http://192.168.56.101:8000/) 2)点击 一键部署 3)在弹出的窗口,填写集群名、用户名、密码等信息 4)在扫描主机界面,填写集群的IP地址/主机名、密码信息,点击扫描 5)勾选主机列表中...

Linux下修改MySQL数据库字符编码为UTF-8解决中文乱码

由于MySQL编码原因会导致数据库出现乱码。 解决办法: 修改MySQL数据库字符编码为UTF-8,UTF-8包含全世界所有国家需要用到的字符,是国际编码。 具体操作: 1、进入MySQL控制台 >mysql -uroot -p #输入密码进入 >status; #查看当前MySQL运行状态,如下图所示:  ...

CentOS7安装MySQL8.0图文教程

1.下载 MySQL 所需要的安装包         网址:https://dev.mysql.com/downloads/mysql/   2.Select Operating System: 选择 Red Hat ,CentOS 是基于红帽的,Select OS Version: 选择 linux 7   3.选择 RPM Bundle 点击 Down...