现象:使用halo搭建的个人博客网站无法访问,提示500错误
查看halo容器日志,docker容器部署无法解析mariadb
Caused by: java.net.UnknownHostException: Failed to resolve 'mariadb' [A(1)]排查
// 检查halo容器数据库连接配置
> docker inspect halo-container
"--spring.r2dbc.url=r2dbc:pool:mariadb://mariadb:3306/halo_h4527k"
//检查数据库容器配置,确认网络中是否设置别称
> docker inspect 7f0
"Networks": {
"1panel-network": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
...
]
}解决
//移除容器正在使用的网络
docker network disconnect 1panel-network 7f0
//重新将容器加入网络并添加别称mariadb
docker network connect 1panel-network --alias mariadb 7f0 启示
为处于同一网络中需要互相通信的容器设置别称可以避免因IP变化等原因带来的DNS解析问题