标签归档:docker

docker中的wordpress提示“您的站点不能完成环回请求”

我一直到刚刚才发现我的blog已经好久没给我发送自动备份了,然后后台里找了找原因,发现在“站点健康”页面显示“您的站点不能完成环回请求”,然后下面还有别的提示表示因为这个原因,定时任务无法启动。

于是我开始找为什么它会无法发送请求给自己,进到容器里用curl -v请求本站,发现域名解析到了容器的IP地址,但容器上开放的端口并不是443,所以会出现“Connection refused”错误。

然后再继续找为什么域名会被解析到容器ip,猜想肯定和docker的某些策略有关,搜了一下,原来是因为我给它使用了自定义网络,和默认网络不同的是自定义网络里容器名会被用于同网络中域名的dns解析,我的容器名就是luojia.me,结果就是wordpress请求自己的地址时被解析到了容器ip,导致请求失败。

解决方式就是把容器名换掉,比如加个前缀之类的就解决了。

MySQL mbind: Operation not permitted

刚刚mysql启动不起来了,翻了翻docker日志,里面全是mbind: Operation not permitted ,然后netstat看了看也没别的程序占用端口,怎么就没权限监听端口了呢。

咕咕查了查,都是说和docker-compose有关的答案,但是我没用它,只好再研究是什么原因。

直到我编辑了一个文件然后保存的时候终于知道是什么问题了,它报了个硬盘空间不足,估计又是什么log把硬盘撑爆了,然后就du命令一路找,找到了一个9个多G的docker容器log,删掉它之后重启docker,mysql也可以启动起来了。

为了防止问题再发生,给docker容器设置了个log大小限制。