在前面博客中我提到,使用 Docker
分别安装 MySQL
和 Huginn
总是会出错。
主要卡在 Huginn
连不上数据库 MySQL
,会报错
Docker Can't connect to MySQL server on '127.0.0.1'
开始一直没找到原因,但体验过 Huginn
默认安装方式的一点劣势后,我发现还是要分开安装,因为后面我其他程序可能需要用到数据库 ,另外再安装一个MySQL
也不显示。
所以今天还在折腾安装Huginn
,今天终于搞定了。
如果你没其他服务需要用到数据库,其实默认的安装方法挺好的
Docker 安装 MySQL
上文 中第一步安装 Docker
已经完成,我们再来安装 MySQL
。
Docker
安装 MySQL
我参考这篇文章 ,但我也没完全照着来。
1、安装镜像
docker pull mysql
2、创建目录
mkdir -p /home/docker/mysql/conf.d
mkdir -p /home/docker/mysql/data
3、创建MySQL
容器,这里有区别,主要是映射端口那,我将宿主机映射端口和容器运行端口都设置成3306。
docker run -di -p 3306:3306 -v /home/docker/mysql/conf.d:/etc/mysql/conf.d -v /home/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql
MYSQL_ROOT_PASSWORD 记得修改成你自己密码
4、进入 MySQL
容器
docker exec -it mysql /bin/bash
5、登录 MySQL
mysql -u root -p
6、(可选)我发现就算我设置打开远程连接,我在本地也能用 Navicat 连到 MySQL
。
但如果你在连接时报错,可以参考如上作者的步骤,下面命令,需要登录 MySQL
执行。
GRANT ALL ON *.* TO 'root'@'%';
flush privileges;
更改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_password' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'your_password';
flush privileges;
安装 Huginn
1、安装Huginn
镜像
docker pull huginn/huginn
2、创建 Huginn
容器
docker run --name huginn -p 3000:3000 -e MYSQL_PORT_3306_TCP_ADDR=172.17.0.1 -e HUGINN_DATABASE_NAME=huginn -e HUGINN_DATABASE_USERNAME=root -e HUGINN_DATABASE_PASSWORD=123456 huginn/huginn
前面我出错的地方是 MYSQL_PORT_3306_TCP_ADDR
的值,我一直以为是服务器的 IP 地址。
结果并不是,也不知道是个啥,反正根据 ifconfig
可以查看。
这里得纠正一点事,这个教程 超详细!如何利用Huginn制作专属RSS 并没太多问题,特别他在里面安装的是 8.0 以下的数据库。
使用 ifconfig
查看,记得找 docker0
的 IP 。
docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ok,基本没啥问题。
本文由老郭种树原创,转载请注明:https://guozh.net/2021-docker-install-huginn/
你好,安装好huginn后,agent一直不工作,显示no,如何处理。报错内容: Broken pipe @ io_writev – /app/app/models/agent_log.rb:16:in `write’
我也是这个情况,默认安装后,就出现这个错误。
大佬,你好。不知道什么原因我照着您的方法,huggin就是启动不了.就这个报错,手动创建新用户也不行,不知道问题出在什么地方 🙁
Access denied for user ‘root’@’172.17.0.1’ (using password: NO)