компоуз - это по сути обертка поверх docker run. Он тоже туп до невозможности и ничего не умеет
compose работает с docker api, это вообще кривая напилка на python с каким-то диким версионированием, кажется, что docker уже забил на compose, потому что там не поддерживаются экспериментальные фичи buildkit