不要只是“docker-compose up”
您可能正在使用容器化技术栈。无论您是自己构建的,还是加入公司后在公司内部建立的,您都可能正在使用它docker-compose
来尽可能地复制接近生产的本地开发环境。(如果您使用了其他方法,请在评论中告诉我。我很乐意听到!)
我猜你很可能docker-compose up
清晨一坐到电脑前就打字,然后就钻研日志的海洋,上下滚动好几分钟,直到找到你一直在找的那一行。在这篇文章中,我想分享一下我是如何利用这些技巧来提高工作效率的,它docker-compose
帮助我变得更加灵活和高效,希望也能帮到你!
首先,使用-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