¿Docker Compose es adecuado para producción?

Me gusta la idea de modularizar aplicaciones en contenedores (db, fronted, backed …). Sin embargo, de acuerdo con los documentos de Docker, "Compose es ideal para entornos de desarrollo, testing y puesta en escena" . La oración no dice nada sobre el entorno de producción. Por lo tanto, estoy confundido aquí.

¿Es mejor usar Dockerfile para crear una image de producción desde cero e instalar toda la stack LAMP (etc.) allí? ¿O es mejor crear un entorno de producción con docker-compose.yml ? ¿Hay alguna razón (sobrecarga, enlaces, etc.) para que Docker no diga explícitamente que Compose es excelente para la producción?

Realmente necesitas definir "producción" en tu caso.
Componer simplemente inicia y detiene varios contenedores con un solo command. No agrega nada a la mezcla que no podría hacer con los commands normales de Docker.

Si "producción" es un único host Docker, con todas las instancias y relaciones definidas, entonces compose puede hacerlo.
Pero si en cambio usted quiere múltiples hosts y escalas dinámicas en todo el cluster, entonces realmente está buscando enjambre u otra opción.

Para ampliar lo que @ChrisSainty ya mencionó, componer es solo una herramienta de orquestación, puede usar sus propias imágenes creadas con sus propios files Docker con sus configuraciones de composition en un solo host. Pero tenga en count que es posible componer contra un clúster de enjambre ya que expone la misma API como un solo host Docker.

En mi opinión, es una forma fácil de implementar una architecture de microservice que utiliza contenedores para adaptar los services con alta disponibilidad eficiente. Además de eso, recomiendo consultar esta documentation oficial sobre buenas prácticas sobre el uso de networkingactar en entornos de producción.