docker-compose 记录一个让人抓狂的错误

发布时间 2023-05-05 18:31:26作者: 唉唉唉唉
执行一个包含多个service的docker-compose.yml的时候,出现以下错误:
strconv.Atoi: parsing "": invalid syntax

看字面上的意思,很明显就是yml文件有语法问题。

在多次修改无果后,百度了这个问题,终于找到了能够解决的办法。

docker-compose down --remove-orphans

使用上面命令删除一些未知有问题的容器,就能够解决上面的问题。

事后,仔细想想,在第一次执行docker-compose up -d的时候就未能正常执行完成,疯狂Ctrl+C,产生了一些有问题的容器,但是docker-compose down删除不掉。

同样一个场景下,遇到一个mysql的service,无法启动容器,报如下错误:

Cannot create redo log files because data files are corrupt or the database was not shut down cleanly after creating the data files.

因为docker-compose.yml文件里,定义了volume ,在volume里产生了一些数据,然后在下一次up的时候,导致把错误的文件挂载进容器内,产生上面的错误。最后删除mysql的volume ,重新up就解决了。

这两个问题的原因可能还是因为在第一次up的时候,等待过久疯狂Ctrl+C 产生的脏数据导致的。做事情还是不能心急。