docker报错:
ERROR:
Can’t find a suitable configuration file in this directory or any
parent. Are you in the right directory?
Supported filenames: docker-compose.yml, docker-compose.yaml

错误信息
说明:
本人是配置oj所出现的问题,我在网上还没有找到解决办法,自己解决之后所以说给大家分享一下
解决方法:

  1. 首先查看自己的docker是否启动成功
    docker ps -a
    在这里插入图片描述
    看我标注的这个地方,8080端口是没有正常运行的
    这个地方可能有两个原因,你没有8080端口,或者你的8080端口被占用

1、没有8080端口,我在这里用的是宝塔服务器,因为oj在linux上评判的更加准确,所以说我是用的centos的镜像来做的,这里使用到了宝塔linux面板,当然ubuntu镜像也可以使用宝塔面板,你打开宝塔

在这里插入图片描述
将8080端口放行(开启)即可

  • 然后重启docker
    systemctl restart docker

  • 再次查看docker状态:
    docker ps -a在这里插入图片描述
    启动成功!!
    访问ip:
    在这里插入图片描述
    又是这个熟悉的界面呐!!
    2、8080被占用/80端口被占用,8080端口的被占用的问题不常见,但是80的端口被占用的问题的比较常见,因为一般用的都是nginx服务,而nginx服务恰恰用的就是80端口,但是你把80端口给杀死放出来,80端口能用了,但是没有nginx服务了,所以这就属于拆东补西的作法了,自然是不可取的,所以要做的就是要把80端口放出来,而且还要nginx正常运行,那80端口放出来之后给oj用,那不是一切就正常了嘛
    教程:
    依旧的宝塔,依旧的这个地方,你发现80肯定是开着的,这不用管,你需要做的就是将nginx的端口释放出来,
    在这里插入图片描述
    找到下面的这个地方,框起来的这个地方是nginx的配置文件的地方,你找到这个,我把这个复制过来看看,/www/server/panel/vhost/nginx/,当然可以cd 过去,但是没有宝塔方便,因为你里面的文件可能不止一个,所以用宝塔好一点
    在这里插入图片描述
    然后你找到这个路径之后对下面的配置文件进行修改
    在这里插入图片描述
    我这里有三个,是都要改的,改完之后才会正确释放,这里,我以一个文件为例子进行修改,双击文件进行编辑,然后将listen后面 的端口号改为其他端口即可,同样的,你要改哪个,要把哪个端口提前释放出来,按上面的8080端口释放教程来释放即可,我这里已经修改了所以说正常,然后修改完之后,在重启docker就行了(在上面的教程中,我就不再写一次了)

在这里插入图片描述

这是我的81端口,这里已经正常使用了,说明已经成功转移,也就成功了
在这里插入图片描述
终于写完了!!

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐