by Devin Yang

建立于: 5年前 ( 更新: 5年前 )

前言

本文介绍,当我们使用D-Laravel的.env加载多个yml档时,为何docker-compose ps官方命令无法列出所有使用中的服务。
但在D-Laravel上的./console ps确能正常显示,那官方的docker-compose命令因如何使用才能有相同的效果呢?

docker-compose小教室

首先,当我们使用docker-compose up -d或是docker-compose down时,他默认会去抓取目录下的docker-compose.yml档。

docker-compose,其实提供了-f参数,让我们可使用多个yml档及非默认的名称。
例下方的例子中,透过-f同时启动了两个yaml档。


这时,docker-compose ps您或许会发现,怎么看不见reids的服务,这是因为两个不同的yml档在不同的目录下。
因此,如果需要查看redis的ps,我们要加上-p代表project的名称(默认为目录名称)。
或是完整的命令-f docker-compose-random.yml -f service/redis.yml


下方,我们来看看D-Laravel提供的,./console ps
搭配.env时,如何帮我们搞定多个yaml档的ps显示,是不是方便很多,在下图中您会看到如果只是单纯使用
docker-compose ps时,您看不到redis的进程。


原官方命令: (这里只列两个yml档,如果我们要加载更多的yml档呢??)
docker-compose -f docker-compose.yml -f service/redis.yml ps

透过./console简化后: (D-Laravel搭配.env,是不是简单到爆炸了)
./console ps


 

Tags: docker

Devin Yang

文章内容无法一一说明,如果您有什么不了解处,欢印提问哦:)

No Comment

Post your comment

需要登入才可留言!

类似文章


docker

ubuntu上安装docker-compose

简单介绍我如何在ubuntu上安装docker-compose. 还满容易的。

docker,phpenv

用光了Docker IPv4 address pool问题解法

可能在旧版的docker环境,使用Docker compose启动容器时,会碰过下方的错误: Error response from daemon: could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network这其实这是default-address-pools用光的症状,有些环境,docker-compose默认会使用Class B的私有网络。172段的私有IP是有范围的,从172.16.0.0到172.31.255.255。也就是说,当我们起动一个docker-compose的Project,就会吃掉一个Class B的私有段,非常豪迈,

docker

闻聊我的网络的演变史

闻聊我的网络的演变史。 我的GCP,每月要$46.35美元,目前免费试用余额还剩$111.05美元, $300元差不多快被我花光了,差不多要搬回自管理的主机了。