GNU/Linux >> Tutoriales Linux >  >> Panels >> Docker

¿Qué hay de nuevo en Docker Compose v2?

Docker Compose es una herramienta inmensamente popular para trabajar con contenedores. Mientras que el docker ordinario CLI interactúa con un contenedor a la vez, docker-compose le permite controlar múltiples contenedores en conjunto.

Compose existe actualmente como un proyecto independiente que se distribuye independientemente de Docker. Si desea utilizar Compose, deberá descargarlo por separado. Muchos usuarios terminan agarrando el binario directamente, ya que los administradores de paquetes del sistema operativo a menudo se quedan atrás, incluso si ofrecen la última versión de Docker.

Docker Compose v2 se anunció en DockerCon 2021. Promete grandes cambios en la experiencia de Compose al integrarlo en docker CLI. v2 también viene con nuevas características de conveniencia para ayudarlo a administrar sus pilas de contenedores.

El nuevo comando “docker compose”

Docker Compose v2 trae la funcionalidad de Compose a Docker mismo. Podrá usar Compose dondequiera que esté instalada la CLI de Docker más reciente, sin necesidad de pasos adicionales. Debajo, Docker sigue usando las funciones proporcionadas por el proyecto Compose.

docker-compose existente los comandos deben asignarse directamente a su nuevo docker compose contrapartes En la mayoría de los casos, puede soltar el guión sin necesidad de realizar más cambios. docker compose admite casi todos los subcomandos e indicadores de Compose v1, aunque una minoría no se implementará.

Compose v2 aún admitirá la invocación a través de docker-compose binario. Los scripts de flujo de trabajo existentes deberían seguir funcionando, incluso si no los actualiza inmediatamente para usar docker compose . A largo plazo, es probable que la mayoría de los autores cambien al nuevo formulario.

Experimentando con Docker Compose v2

Compose v2 se encuentra actualmente en versión beta. Aunque sigue en desarrollo, el nuevo binario ya se envía con Docker Desktop para Windows y Mac. Desktop v3.4 agregó soporte para docker compose comandos, por lo que es probable que ya pueda usarlo hoy. Los paquetes de Linux se actualizarán más adelante en el año; un script de instalación manual está disponible mientras tanto.

docker-compose El comando puede invocar actualmente v1 o v2, por defecto a v1. La opción se activa automáticamente para un subconjunto de usuarios; eventualmente lanzará v2 para todos.

Puede cambiar manualmente docker-compose entre v1 y v2 ejecutando docker-compose disable-v2 o docker-compose enable-v2 . Esto le permite mantener la compatibilidad con cualquier archivo Compose existente que no funcione con v2. docker compose los comandos siempre usarán v2.

Cambios de especificación

Llevar la funcionalidad de Compose a la CLI de Docker ha requerido cambios en la especificación de Compose. Esto ahora distingue entre implementaciones de comandos y docker-compose.yml formato YAML.

El enfoque revisado brinda nuevas oportunidades para integrar funciones adicionales. Las implementaciones experimentales se pueden proporcionar más rápidamente y el equipo de Compose está mejor equipado para agregar propuestas de la comunidad. La CLI está más desvinculada del formato de archivo YAML, por lo que implementaciones alternativas (como docker compose ) son una posibilidad.

Más allá de la CLI, la existencia de la especificación de Composer permite a los proveedores de la nube implementar también la funcionalidad de Compose. Ahora puede ejecutar docker compose up contra un contexto de Docker basado en la nube para lanzar su aplicación en producción. Docker viene con soporte integrado para entornos Amazon ECS y Microsoft ACI.

Internamente, Compose v2 usa Buildkit de forma predeterminada para compilaciones más rápidas. El rendimiento general debería ser más rápido a medida que se ejecutan más tareas en paralelo, lo que reduce los tiempos de procesamiento.

Nuevas funciones en v2

El cambio de docker-compose a docker compose no es el único cambio en v2. También hay nuevas características que afectan la forma en que interactúa con sus pilas de contenedores.

Una limitación de Compose v1 es su enfoque de los nombres de proyectos. Cuando ejecuta docker-compose up -d , Compose antepone el nombre del proyecto al nombre del servicio de cada contenedor. Esto asegura que todos los contenedores estén agrupados.

v1 infiere el nombre del proyecto del nombre de su directorio de trabajo. Puede elegir manualmente un nombre diferente configurando el COMPOSE_PROJECT_NAME variable de entorno.

v2 simplifica esto al agregar un indicador CLI para establecer el nombre del proyecto. Agregar --project-name o -p para ignorar el nombre del directorio de trabajo, sin alterar el entorno. Establecer manualmente el nombre del proyecto le permite combinar contenedores de varios directorios de trabajo en una pila, o iniciar varias instancias de una pila de contenedores.

Otra característica nueva v2 le permite enumerar todas las pilas de Compose en su sistema. El docker compose ls El comando proporciona una tabla de nombres de proyectos y su estado (en ejecución o detenido). Esto complementa el docker compose ps comando que da los estados de los contenedores en una pila.

Compose v2 también agrega soporte para docker compose cp . Este comando funciona de manera similar a docker cp y le permite copiar archivos dentro y fuera de sus contenedores:

docker cp my-container local-file.txt /path/to/container/file.txt

Resumen

Docker Compose v2 es una actualización sustancial que brinda mayor comodidad a la herramienta de administración de contenedores. La integración de Compose en la CLI principal de Docker significa que está disponible donde sea que se encuentre Docker. Esto lo hace más accesible y fácil de usar.

Compose v2 también trae algunos comandos de utilidad adicionales para facilitar el trabajo con diferentes pilas y contenedores. Obtiene una mejor visibilidad de lo que se está ejecutando en su sistema. Si bien todavía está en versión beta al momento de escribir este artículo, los usuarios de Windows y Mac pueden usar v2 hoy, mientras que los usuarios de Linux pueden descargar la última versión de GitHub.


Docker
  1. ¿Qué hay de nuevo con rdiff-copia de seguridad?

  2. ¿Qué es Docker (y los contenedores de Linux?)

  3. Cómo usar Docker Compose

  4. Una guía rápida para usar Docker Compose

  5. Configuración del nombre de host en Docker Compose

¿Qué es Docker Compose y cómo se usa?

¿Qué es un manifiesto de imagen de Docker?

Cómo instalar Docker Compose en Ubuntu

Docker File vs Docker Compose:¿Cuál es la diferencia?

Qué hacer si un contenedor Docker sale inmediatamente

Novedades de KDE Plasma 5.25