Docker部署常见应用之企业级堡垒机JumpServer-问题记录

news2024/12/23 23:18:56

文章目录

  • 项目场景
  • 问题1
    • 问题描述
    • 原因分析
    • 解决方案
  • 问题2
    • 问题描述
    • 原因分析
    • 解决方案
  • 参考文章

在这里插入图片描述

项目场景

项目场景:Docker部署常见应用之企业级堡垒机JumpServer


问题1

问题描述

  • docker-compose.yml 中使用 $SECRET_KEY$BOOTSTRAP_TOKEN加载 ~/.bashrc 环境变量时无法加载
  • 代码中写法:
    version: '3'
    services:
        ......
    	jms_all:
    	    image: jumpserver/jms_all:v3.10.10
    	    container_name: jms_all
    	    ports:
    	      - "80:80"
    	      - "2222:2222"
    	    environment:
    	      SECRET_KEY: $SECRET_KEY
    	      BOOTSTRAP_TOKEN: $BOOTSTRAP_TOKEN
    	      LOG_LEVEL: ERROR
    	      DB_HOST: jms_mysql
    	      DB_PORT: 3306
    	      DB_USER: jumpserver
    	      DB_PASSWORD: 123456
    	      DB_NAME: jumpserver
    

原因分析

  • 命令行使用 echo $SECRET_KEY 可以打印环境变量, docker-compose.yml 无法加载原因不明

解决方案

  • 直接使用bashrc中定义的SECRET_KEYBOOTSTRAP_TOKEN的值, 如下
    version: '3'
    services:
        ......
    	jms_all:
    	    image: jumpserver/jms_all:v3.10.10
    	    container_name: jms_all
    	    ports:
    	      - "80:80"
    	      - "2222:2222"
    	    environment:
    	      SECRET_KEY: 0vwLw0vfmIf1NsjkrgxXJoA0HyXB7QajWIHVpPQVsdxa9ydUkg
    	      BOOTSTRAP_TOKEN: V9BXZzUzlG2UYLOu
    	      LOG_LEVEL: ERROR
    	      DB_HOST: jms_mysql
    	      DB_PORT: 3306
    	      DB_USER: jumpserver
    	      DB_PASSWORD: 123456
    	      DB_NAME: jumpserver
    

问题2

问题描述

  • jumpserver启动后可以访问登录页面, 登录后提示服务器错误
    Server error occur, contact administrator
    

原因分析

  • jumpserver第一次启动时候会初始化数据库, 由于数据库编码默认为latin1, 会导致中文出错, 需要修改编码为utf8, 通过配置文件挂载的方式修改后, 发现仍然报错,挂载配置失败。
  • sudo docker-compose logs jms_all查看jms_all的启动日志, 中文编码出错
    jms_all    | After migration, update builtin role permissions
    jms_all    |   - Update builtin roles
    jms_all    | 2024-06-08 23:32:37 Install builtin applets
    jms_all    | (1366, "Incorrect string value: '\\xE6\\xB5\\x8F\\xE8\\xA7\\x88...' for column 'display_name' at row 1")
    jms_all    | (1366, "Incorrect string value: '\\xE7\\xA4\\xBE\\xE5\\x8C\\xBA...' for column 'display_name' at row 1")
    
  • sudo docker-compose logs mysql 查看mysql启动日志, 发现配置文件没有加载
    mysqld: [Warning] World-writable config file '/etc/mysql/conf.d/my.cnf' is ignored.
    
  • 进入mysql容器进行检查
    • 使用命令
      # 进入容器
      sudo docker exec -it jms_mysql bash
      # 进入数据库
      mysql -uroot -p123456
      # 选择jumpserver数据库
      use jumpserver
      # 查看数据库使用的编码集
      SHOW VARIABLES LIKE 'character_set%';
      SHOW VARIABLES LIKE 'collation%';
      
    • 得到结果显示编码仍为latin
       # SHOW VARIABLES LIKE 'character_set%';
        +--------------------------+----------------------------+
        | Variable_name            | Value                      |
        +--------------------------+----------------------------+
        | character_set_client     | latin1                     |
        | character_set_connection | latin1                     |
        | character_set_database   | latin1                     |
        | character_set_filesystem | binary                     |
        | character_set_results    | latin1                     |
        | character_set_server     | latin1                     |
        | character_set_system     | utf8                       |
        | character_sets_dir       | /usr/share/mysql/charsets/ |
        +--------------------------+----------------------------+
        # SHOW VARIABLES LIKE 'collation%';
        +----------------------+-------------------+
        | Variable_name        | Value             |
        +----------------------+-------------------+
        | collation_connection | latin1_swedish_ci |
        | collation_database   | latin1_swedish_ci |
        | collation_server     | latin1_swedish_ci |
        +----------------------+-------------------+
      

解决方案

  • 修改配置文件的权限
    cd /data/docker/jumpserver/mysql/conf/
    sudo chmod 644 my.cnf
    
  • 重新启动
    # 停止容器
    sudo docker-compose down
    # 删除mysql数据文件
    sudo rm -rf /data/docker/jumpserver/mysql/data/*
    # 重启容器
    sudo docker-compose up -d
    

参考文章

Windows环境docker安装MySQL挂载配置不生效问题处理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1821750.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024 年最新 Python 使用 gewe 框架搭建微信机器人实现语音智能回复(详细教程)

Gewe 个微框架 GeWe(个微框架)是一个创新性的软件开发框架,专注于IPAD协议,为个人微信号以及企业信息安全提供了强大的功能和保障。GeWe的设计旨在简化开发过程,使开发者能够高效、灵活地构建和定制通信协议&#xff…

C++ 35 之 对象模型基础

#include <iostream> #include <string.h> using namespace std;class Students05{ public:// 只有非静态成员变量才算存储空间&#xff0c;其他都不算int s_a; // 非静态成员变量&#xff0c;算对象的存储空间double s_c;// 成员函数 不算对象的存储空间void f…

1毛钱1百万token,写2遍红楼梦!国产大模型下一步还想卷什么?

大模型价格战&#xff0c;这匹国产黑马又破纪录了&#xff01;最低的GLM-4 Flash版本&#xff0c;百万token价格已经低至0.1元&#xff0c;可以说是击穿地心。MaaS 2.0大升级&#xff0c;让企业训练私有模型的成本无限降低。 刚刚&#xff0c;智谱AI开放日上&#xff0c;新一代…

神经网络字符分类

按照题目要求修改了多层感知机 题目将图片的每个点作为输入&#xff0c;其中大小为28*28&#xff0c;中间有两个大小为100的隐藏层&#xff0c;激活函数是relu&#xff0c;然后输出大小是10&#xff0c;激活函数是softmax 优化器是Adam&#xff0c;结合了AdaGrad和RMSProp算法…

六、高级路由交换技术

目录 一、Eth-trunk&#xff08;以太通道或链路捆绑&#xff09; 1.1、 链路聚合模式 1.2、链路选举规则&#xff08;选举活跃和备份&#xff09; 1.3、负载分担方式 1.4、配置流程 二、vlan聚合 三、MUX vlan&#xff08;混合vlan&#xff09; 四、QinQ 五、V…

一个顶级产品经理的自我修养,从掌控AI工具开始

前言 在数字化浪潮的推动下&#xff0c;人工智能&#xff08;AI&#xff09;技术的快速发展正深刻地改变着各行各业的运营模式与竞争格局。产品经理&#xff0c;作为连接用户需求与产品设计之间的桥梁&#xff0c;在这场变革中扮演着至关重要的角色。随着AI技术的广泛应用&…

实战计算机网络02——物理层

实战计算机网络02——物理层 1、物理层实现的功能2、数据与信号2.1 数据通信模型2.2 通信领域常用术语2.3 模拟信号和数字信号 3、信道和调制3.1 信道3.2 单工通信、半双工通信、全双工通信3.3 调制3.4 奈式准则3.5 香农定律 4、传输媒体4.1 导向传输媒体4.2 非导向传输媒体 5、…

二刷算法训练营Day30 | 回溯算法(6/6)

目录 详细布置&#xff1a; 1. 回溯总结 2. 332. 重新安排行程 3. 51. N 皇后 4. 37. 解数独 详细布置&#xff1a; 1. 回溯总结 回溯是递归的副产品&#xff0c;只要有递归就会有回溯&#xff0c;所以回溯法也经常和二叉树遍历&#xff0c;深度优先搜索混在一起&#x…

KafkaQ - 好用的 Kafka Linux 命令行可视化工具

软件效果前瞻 ~ 鉴于并没有在网上找到比较好的linux平台的kafka可视化工具&#xff0c;今天为大家介绍一下自己开发的在 Linux 平台上使用的可视化工具KafkaQ 虽然简陋&#xff0c;主要可以实现下面的这些功能&#xff1a; 1&#xff09;查看当前topic的分片数量和副本数量 …

docker通过容器id查看运行命令

1、docker通过容器id查看运行命令 参考&#xff1a;https://blog.csdn.net/a772304419/article/details/138732138 docker inspect 运行镜像id“Cmd”: [ “–model”, “/qwen-7b”, “–port”, “10860”, “–max-model-len”, “4096”, “–trust-remote-code”, “–t…

LabVIEW 32位与64位版本比较分析:性能与兼容性详解

LabVIEW的32位和64位版本在功能、性能、兼容性和应用场景等方面存在差异。本文从系统要求、内存管理、性能、兼容性、驱动支持和开发维护等多个角度进行详细分析&#xff0c;帮助用户选择合适的版本。 一、系统要求 操作系统支持&#xff1a; 32位LabVIEW&#xff1a;可以在32位…

深入解析MySQL的层次化设计

一、基础架构 1.连接器 1.会先连接到这个数据库上&#xff0c;这时候接待你的就是连接器。连接器负责跟客户端建立连接、获取权限、维持和管理连接 2.用户密码连接成功之后&#xff0c;会从权限表中拿出你的权限&#xff0c;后续操作权限都依赖于此时拿出的权限,这就意味着当链…

springboot项目中使用 @Lazy 注解懒加载解决循环依赖问题,以及 @Lazy 标注顺序

场景&#xff1a; Caused by: org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name taskServiceImpl: Bean with name taskServiceImpl has been injected into other beans [groupServiceImpl] in its raw version as part…

Application Studio 学习笔记(1)

一、导航树 1、设置AAA的Page Type属性需设置为Tab(注意&#xff1a;有多个Tab类型Page时导航树会失效&#xff0c;并且设置为Tab后&#xff0c;该Page将不能编辑)&#xff0c;并勾选Enable Navigation&#xff0c;其中AAA为导航树起始页的父页。 2、导航树起始页及其子页的Ta…

GPT4O给Qwen2生成的高考作文打分56分,从“小白”进阶技术大神的开发者基于国产GPU推理模型效果可还行?

OpenI启智社区上线的【芯动开源】首场活动-天数智芯挑战专场即将迎来最后一周的冲刺阶段&#xff0c;自2024年5月27日上线以来&#xff0c;这期间&#xff0c;我们见证了天数智芯通用GPU加速卡在适配AI模型方面的无限可能与开发者们开源精神的璀璨光辉。 在短短的两周时间里&a…

[Shell编程学习路线]——探讨Shell中变量的作用范围(export)

&#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f6e0;️Shell编程专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2024年6月14日10点14分 &#x1f004;️文章质量&#xff1a;95分 文章目录 ————前言———— 定义变量&#xff1a; 输出变…

django上课点名系统-计算机毕业设计源码03391

摘 要 随着现在网络的快速发展&#xff0c;网络的应用在各行各业当中它很快融入到了许多学校的眼球之中&#xff0c;他们利用网络来做这个签到点名的网站&#xff0c;随之就产生了“上课点名系统 ”&#xff0c;这样就让学生上课点名系统更加方便简单。 对于本上课点名系统的设…

App UI 风格打造独特体验

App UI 风格打造独特体验

Day07-06_13【CT】LeetCode手撕—1. 两数之和

目录 题目1-思路2- 实现⭐1. 两数之和——题解思路 3- ACM实现 题目 原题连接&#xff1a;1. 两数之和 1-思路 哈希表 利用哈希表存储 key 数组元素值 ——> value 数组下标遍历数组 2- 实现 ⭐1. 两数之和——题解思路 class Solution {public int[] twoSum(int[] nums…

maven archetype项目构架

1、设置环境变量 set MAVEN_HOMED:\SF\java\apache-maven-3.6.3 set path%path%;%MAVEN_HOME%\bin;2、制作archetype mvn -s "D:\SF\java\apache-maven-3.6.3\conf\settings.xml" archetype:create-from-project -DpackageNamecom.demo.esb-s:指定maven的setting文…