[halo-dev/halo]密码错误

2024-04-12 482 views
8
是什么版本出现了此问题?

2.3

使用的什么数据库?

H2

使用的哪种方式部署?

Docker

发生了什么?

登陆密码总是不对,使用以下命令安装,登陆密码不对,改了我自己的密码页不行,我删除docker容器、镜像,删除 -v ~/.halo2:/root/.halo2 \,终于可以登陆了,过来几个小时之后,登陆密码又不对了。我用bitwarden记住密码,密码肯定不会错。

docker run \
  -it -d \
  --name halo \
  -p 8090:8090 \
  -v ~/.halo2:/root/.halo2 \
  halohub/halo:2.3.0 \
  --halo.external-url=http://localhost:8090/ \
  --halo.security.initializer.superadminusername=admin \
  --halo.security.initializer.superadminpassword=P@88w0rd  

我使用这个命令安装的。

相关日志输出
docker logs halo | grep 'Generated random password:' | tail -1
使用这个指令不会输出密码
附加信息

root@ubuntu:~# docker logs halo2 | grep 'Generated random password:' | tail -1 root@ubuntu:~# docker logs halo2 | grep 'Generated random password:' | tail -1 root@ubuntu:~# docker logs halo2 | grep 'Generated random password:' | tail -1 root@ubuntu:~# docker logs halo2 | grep 'Generated random password:' | tail -1 root@ubuntu:~# docker logs halo2 | grep 'Generated random password:' | tail -1

回答

9

我也是一样的问题。

8

没有想到有什么样的可能会导致这样的问题。

5

一样的问题,官方文档的docker安装就回出现密码错误

1

我这边尝试之后未复现,我这里提供几种可能:

  1. 挂载的目录之前已经有数据,所以初始化用户名和密码的变量不会再有用。
  2. 命令格式问题导致密码字符串不正确。
4

昨天使用的centos steam版本以docker方式安装halo会出现密码错误,今天换成ubuntu就一切正常了

4

问题相同,已经删了好多个container了

6

密码错误问题删除 container 是不起作用的。要么删除 /root/.halo2 所对应挂载的文件,要么删除数据库。

1

碰到同样的问题,不过我用的时Windows

2

这个问题是无解了吗?docker、docker-compose都试了下,全是密码错误,,,

4

无法复现密码错误的问题,无论是 Docker 或者是 Compose。你可以提供你 docker run 的命令和 docker-compose.yaml 文件的内容,我们看看是否能够复现。

1
version: '2.4'
services:
  halo: 
    image: 'halohub/halo:2.4.0'
    container_name: halo
    restart: 'on-failure:3'
    network_mode: host
    volumes:
      - './:/root/.halo2'
    command:
      - spring.r2dbc.url=r2dbc:pool:mysql://localhost:3306/halo
      - spring.r2dbc.username=root
      - spring.r2dbc.password=Aa123456
      - spring.sql.init.platform=mysql
      - halo.external-url=http://localhost:8090/
      - halo.security.initializer.superadminusername=admin
      - halo.security.initializer.superadminpassword=P@88w0rd  
      - server.port=8090
networks:
  my-network:
    driver: bridge
    ipam:
      config:
        - subnet: 192.168.159.0/24
    name: my-network

这是我的docker-compose文件,部署在腾讯云服务器上,Mysql版本是5.7.36 (刚在论坛上有个兄弟提到,密码后面加2个空格,但遗憾没有起作用)

刚看了下数据库,一张表都没有,这个情况是否正常? image

8

提一个小 TIPS(虽然文档也有写,但可能容易被忽略):文档中的 docker run 或者 docker-compose.yaml 中的用户名和密码仅在首次初始化的时候生效,后续不会再有任何用处,即使是修改之后重新创建容器。

所以如果遇到了这样的问题,可以先检查一下是否已经运行过 Halo。然后如 https://github.com/halo-dev/halo/issues/3523#issuecomment-1481339835 中所说,可以清理工作目录再尝试。

使用 docker run 的方式如何清理:

官方的文档是将 Halo 的数据目录(容器中的 /root/.halo2)映射到了当前系统用户的 .halo2 目录,所以可以这样清理:

rm -rf ~/.halo2

使用 docker compose 的方式如何清理:

清理存放 docker-compose.yaml 的文件夹即可。

2

这一点也是怀疑的对象,为此单独创建了一个目录,使用docker-compose方式启动了下,但无济于事 image

8

想知道你这个 docker-compose.yaml 文件的配置方式是在哪里看到的,如果是在我们官方发布的地方,我们会立即修改。但我检查了文档,与你提供的并不一致。

参考:https://docs.halo.run/getting-started/install/docker-compose#:~:text=%E4%BB%85%E5%88%9B%E5%BB%BA%20Halo%20%E5%AE%9E%E4%BE%8B%EF%BC%88%E4%BD%BF%E7%94%A8%E5%B7%B2%E6%9C%89%E5%A4%96%E9%83%A8%E6%95%B0%E6%8D%AE%E5%BA%93%EF%BC%8CMySQL%20%E4%B8%BA%E4%BE%8B%EF%BC%89%EF%BC%9A

错误位置:

image

文档:

image
5

上面的docker-compose.yaml配置是我修改后的,--以为是需要手动配置的量。 刚在服务器上重新部署了下,能正常登录了

感谢❤️