调试在构建第一个服务时冻结的docker compose构建

调试在构建第一个服务时冻结的docker compose构建,docker,docker-compose,containers,amazon-ecs,Docker,Docker Compose,Containers,Amazon Ecs,我一直在学习如何将docker容器部署到AWS的教程,我成功地做到了这一点。然而,现在我已经用自己的代码/逻辑修改了一个flask web应用程序,它从未完成第一个服务的构建 我最后的命令: docker-compose -f docker-compose-prod.yml up -d --build 可以这么说: 建筑feapi 然后什么也没发生,有时我会: ERROR: SSL error: ('The write operation timed out',) 我不知道是什么原因导致了错

我一直在学习如何将docker容器部署到AWS的教程,我成功地做到了这一点。然而,现在我已经用自己的代码/逻辑修改了一个flask web应用程序,它从未完成第一个服务的构建

我最后的命令:

docker-compose -f docker-compose-prod.yml up -d --build
可以这么说:

建筑feapi

然后什么也没发生,有时我会:

ERROR: SSL error: ('The write operation timed out',)
我不知道是什么原因导致了错误,我如何调试它,或者至少可以看到幕后发生了什么?我知道docker compose提供了日志,但不确定如何实现它,如果需要的话。

docker composer--build
为您提供了
docker build
。 如果手动运行
docker build
命令,您将获得生成的输出


然后,
docker build
只运行
Dockerfile
的命令这取决于您是否将
Dockerfile
命令置于详细/调试模式

有时您的上下文包含太多文件

docker生成启动时,它会收集项目文件夹/context dir中的所有文件,除非您在.dockrignore中提及这些文件。 如果你周围有GBs的文件,它可以收集几分钟,产生的图像大小将是巨大的

在正式文件()中,见本段:

在Dockerfile不需要将文件复制到映像中的情况下,省略生成上下文非常有用,因为没有文件发送到后台程序,因此可以提高生成速度

如果您不确定构建上下文的大小,可以运行一个简单的
docker构建
,它将打印找到的上下文大小。例如:

> docker build -t check-context:latest .
Sending build context to Docker daemon  1.086MB
...

手动
docker构建feapi映像时会发生什么情况?
Dockerfile
包含什么?这可能是一个很好的答案。请把它展开。你能举个例子或引文吗?你能解释一下原因吗?更多的是文件的数量还是大小?