Максимальная глубина не указывает на ошибку нехватки памяти (хотя чернослив может ее случайно исправить).
Скорее, это означает, что создаваемое вами изображение api
имело слишком много слоев.
Правдоподобная теория состоит в том, что у вас есть рекурсия, вызванная наличием этого в вашем файле компоновки:
image: mhart/alpine-node:12
build: ./client
и это в Dockerfile
FROM mhart/alpine-node:12
(я предполагаю, что Dockerfile в ./client
также FROM
то же изображение).
Ваша сборка по сути, добавляет несколько слоев на ваше локальное изображение mhart/alpine-node:12
каждый раз, когда вы запускаете его (вы можете подтвердить, запустив docker history mhart/alpine-node:12
).
Если это так, вам, вероятно, следует переименовать image
в вашем файле композиции.