Docker Compose的配置文件一定要命名为docker-compose.yaml吗
杂谈
在使用Docker的时候我就经常性的思考,为什么Docker的配置文件要命名为DOCKERFILE呢?为什么docker-compose的配置文件一定要命名为docker-compose.yml,或者docker-compose.yaml呢?
其实答案也很简单,官方的默认docker-compose的所有指令都是基于当前目录或者父目录下的名为docker-compose.yml、docker-compose.yaml进行操作的。
可以更改为其他的名字,但是需要使用-f参数进行人为指定文件,同时在查看状态、停止等操作时也需要单独指定该文件,具体如下:
实验
指定配置文件后台运行docker-compose:
1 | [root@centos7 ~]# docker-compose -f docker-compose-python.yml up -d |
查看当前正在运行的内容:
1 | [root@centos7 ~]# docker-compose -f docker-compose-python.yml ps |
查看环境变量:
1 | [root@centos7 ~]# docker-compose -f docker-compose-python.yml run web env |
停止由docker-compose创建的服务:
1 | [root@centos7 code]# docker-compose -f docker-compose-python.yml stop |
那么此时我们试试不使用-f参数指定文件名是什么样子呢:
1 | [root@centos7 ~]# docker-compose stop |
显而易见,与文章最开始结论一致,不使用-f参数指定文件,docker-compose会默认寻找名为docker-compose.yml 、docker-compose.yaml的配置文件,如果没有找到,则会提示你是否在正确的目录中,所以为了方便,还是请诸君使用默认命名方式吧。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 zane!
评论