假设您运行了一个多容器Docker应用程序,该应用程序由一个数据库容器和一个应用程序容器组成。以下两种关闭它的方法有什么区别:
第一种方法
1.打开一个终端,然后使用启动应用程序docker-compose up
。
2.使用关闭应用程序Ctrl + C
。
第二种方法
1.打开一个终端,然后使用启动应用程序docker-compose up
。
2.打开第二个终端,然后使用关闭应用程序docker-compose down
。
以我的理解,这两种方法应该完全相同。但是,在使用第二种方法时,我通常会在应用程序的日志中看到一些异常,即它已经关闭时无法连接到数据库,否则我看不到。
推荐的方法是什么?
运行Ctrl + C只会停止容器(实际上等价于docker-compose stop
),同时docker-compose down
还将删除停止的容器并删除由compose文件创建的所有网络。
Ctrl + C仅在所有服务未以分离状态启动(docker-compose up
未-d
设置标志)时才起作用
至于推荐的方法,实际上取决于您的特定用例。如果您只需要停止服务,而不需要删除容器,docker-compose stop
就足够了。如果您想重建图像或使用其他图像,则可能需要运行docker-compose down
。