windows docker 部署openfire

镜像版本

mysql:8.0.46

nasqueron/openfire:latest

docker-compose

version: '3.8'

services:

openfire:

image: nasqueron/openfire:latest

container_name: openfire

ports:

  • "9090:9090"

  • "9091:9091"

  • "5222:5222"

  • "5223:5223"

  • "5269:5269"

  • "7070:7070"

  • "7443:7443"

  • "7777:7777"

  • "3478:3478/tcp"

  • "3479:3479/tcp"

volumes:

  • 你本地的路径:/var/lib/openfire

restart: unless-stopped

mysql:

image: mysql:8.0.46

container_name: openfire_mysql

environment:

MYSQL_ROOT_PASSWORD: root123

MYSQL_DATABASE: openfire

MYSQL_USER: openfire

MYSQL_PASSWORD: openfire123

ports:

  • "3336:3306"

volumes:

  • 你本地的路径:/var/lib/mysql

数据库

数据库设置界面分别填入

com.mysql.cj.jdbc.Driver

jdbc:mysql://openfire_mysql:3306/openfire?rewriteBatchedStatements=true&characterEncoding=UTF-8&characterSetResults=UTF-8&serverTimezone=UTC

这里的openfire_mysql用的是docker-compose中的container_name: openfire_mysql这里的openfire_mysql

这里应该会失败,因为你还没有给你的openfire容器登录权限,你现在使用宿主机,访问应该也会失败

这时候就需要

去到这里

然后去到这里

使用 mysql -u root -p

然后输入密码登录

你能看到

#用于产看当前查看授权

SELECT user, host FROM mysql.user WHERE user='root';

这里你应该只能看到localhost和%(看版本反正没有你要的东西)

openfire登录不上去是正常因为它的版本其实也挺低的而本机宿主机登录软件的(比如我的navicat版本挺低的)本版低也会导致登录不上去

这时候就需要手动给予权限

-- 创建你需要于权限的地址
CREATE USER 'root'@'你的ip地址' IDENTIFIED BY 'root123';
-- 改认证插件
ALTER USER 'root'@'你的ip地址' IDENTIFIED WITH mysql_native_password BY 'root123';
-- 给予权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'你的ip地址' WITH GRANT OPTION;

-- 最后刷新
FLUSH PRIVILEGES;

然后你使用上面的权限查看代码看一下就行了

你能在如下的地方看到是什么地址尝试连接但是因为没有权限而被拒绝

配置完后宿主机访问

这个需要改一下配置文件

去到

/var/lib/openfire/conf/openfire.xml(因为你上面配置了你本地的路径:/var/lib/openfire,所以你可以在你的宿主机上找到,你本地的路径/conf/openfire.xml)

修改成

<adminConsole>

<!-- Disable either port by setting the value to -1 -->

<port>9090</port>

<securePort>9091</securePort>

<interface>0.0.0.0</interface>(这里这里!!!)

</adminConsole>

修改这里就可以了,然后重启就行了

相关推荐
吴声子夜歌1 分钟前
Nginx应用与运维——Nginx在Kubernetes中的应用(三)
运维·nginx·kubernetes
小小龙学IT7 分钟前
ROS2 安装完全指南(Ubuntu 版):从零开始到跑通第一个节点本文
linux·运维·ubuntu
Ruiery8 分钟前
Linux 6.6内核 CPU 深度解析(十二):SMT 进阶 — core scheduling 与共享算力的负载平衡
linux·运维·服务器
sbjdhjd31 分钟前
云安全 | Docker 容器逃逸复盘(一):从隔离边界到运行时链路,如何确认自己身处容器
网络安全·docker·云原生·容器·kubernetes·云计算·云安全
溪语流沙31 分钟前
【Web全栈进阶】PostgreSQL上手:Docker跑库 + 把早报站从SQLite迁过去
前端·docker·postgresql
2401_872418781 小时前
Windows服务器:错误 403 - 禁止访问:本地 FTP 上传文件到网站服务器后提示无访问权限
运维·服务器·windows
吴声子夜歌1 小时前
Nginx应用与运维——Nginx在Kubernetes中的应用(二)
运维·nginx·kubernetes
Ruiery10 小时前
Linux 6.6内核 CPU 深度解析(七):调度器启动 — 从单核到多核,调度器分阶段点亮
linux·运维·服务器
50万马克的面包10 小时前
CSDN-栈队列数组-知识点整理
linux·运维·服务器
MicrosoftCloud10 小时前
用户权限 04|/etc/sudoers 安全配置:从最小授权到「别把 ALL 随便给人」
运维·安全·ubuntu·sudo·sudoers