不要只是“docker-compose up”

2025-06-07

不要只是“docker-compose up”

您可能正在使用容器化技术栈。无论您是自己构建的,还是加入公司后在公司内部建立的,您都可能正在使用它docker-compose来尽可能地复制接近生产的本地开发环境。(如果您使用了其他方法,请在评论中告诉我。我很乐意听到!)

我猜你很可能docker-compose up清晨一坐到电脑前就打字,然后就钻研日志的海洋,上下滚动好几分钟,直到找到你一直在找的那一行。在这篇文章中,我想分享一下我是如何利用这些技巧来提高工作效率的,它docker-compose帮助我变得更加灵活和高效,希望也能帮到你!

docker-compose up 示例

首先,使用-d开关启动 docker-compose。文档如下:

运行 docker-compose up -d 会在后台启动容器并使其保持运行。

您会注意到命令立即退出,并且您不再看到标准输出的日志。

现在让我们看看容器的状态:

> docker-compose ps

该命令的输出与docker ps命令类似。您将看到一个表格,其中包含容器名称、用于启动容器的命令、容器状态及其公开端口。如果容器状态为Up,则表示容器已成功启动。

但是您一定想知道日志在哪里?

> docker-compose logs

你会看到和不使用-d开关时一样的输出。不过,随着 docker-compose 栈的增长,这些日志会变得越来越难查看。而且,既然你正在重构你最喜欢的类,为什么还要查看 Redis 日志呢?

因此,由于您只在一个容器上工作,并且想要查看它的日志,请将容器的名称附加到命令的末尾,就像它写在docker-compose.yml文件中一样。对于名为 的容器api

> docker-compose logs api

logs将会转储 Docker 在容器运行的整个生命周期内收集的所有日志。这些日志可能很长,而且每次调用该logs命令都会花费越来越长的时间才能到达输出的末尾。解决方案是,我们可以使用开关仅转储日志的尾部--tail。让我们只转储最后 1000 行:

> docker-compose logs --tail=1000 api

很好。但是现在你每次都得打开终端并重新运行命令。我们可以使用以下开关保持终端打开-f

> docker-compose logs --tail=1000 -f api

是啊!这样肯定好多了。把它添加到你的shell里,这样你就不用每次都记住并输入它了。

感谢您阅读这篇小文章。请在评论区分享您在本地开发环境中使用的一些技巧和窍门。😎

文章来源:https://dev.to/kbariotis/dont-just-docker-compose-up-gff
PREV
项目想法!!!(沮丧)
NEXT
前端开发的五大趋势