Herramientas de desarrollo · Convertidor de ejecución de Docker a Docker Compose ventana acoplable
La clave de versión en los archivos de Compose está obsoleta: qué la reemplazó
· Antecedentes
docker redactar configuración
Durante años, todos los archivos de Compose comenzaban con la versión: '3'. Esta publicación explica cuál fue el número utilizado para seleccionar, por qué la especificación de redacción lo eliminó y qué hacer con los archivos que tiene.
Una nueva advertencia en cada comando: 'la versión está obsoleta' en un archivo que ha funcionado sin cambios durante años
Una nueva advertencia en cada comando: 'la versión está obsoleta' en un archivo que ha funcionado sin cambios durante años. Evidencia: el autor comienza con los servicios y las pruebas rechazan una clave de versión de nivel superior. Reproduzca la eliminación de la clave de versión con literales desechables. Empareje cada aparición de origen con la salida de servicios sin versión; reserve la compatibilidad heredada para la revisión del destino.
El incidente de configuración también revela que Un límite separado del incidente de configuración es que el resultado admitido es un documento limitado sin versión. Evidencia: el resultado respaldado es un documento limitado y sin versiones. Esta restricción de eliminación de clave de versión es un punto de parada. Inspeccione la salida de servicios sin versión sin comportamiento de fabricación y luego documente una verificación del host para verificar la compatibilidad heredada.
Este repositorio verifica la omisión de la versión, no las tablas históricas de compatibilidad entre el motor y el formato.
Qué versión: seleccionada: formato de archivo 1, 2.x o 3.x, cada uno vinculado a un Docker Engine mínimo y un conjunto de claves permitidas. Evidencia: no existe ninguna tabla de compatibilidad de motor a formato en este repositorio; Este repositorio verifica la omisión de la versión, no las tablas históricas de compatibilidad entre motor y formato. Rastree los tokens de eliminación de claves de versión en la salida de servicios sin versión. Separe los valores ordenados de los campos del último valor; la compatibilidad heredada está fuera de la colección.
Un límite del mecanismo de configuración relacionado es que para esta sección de configuración se mantiene el comando original de esta sección de configuración y las advertencias para esta sección de configuración junto a este archivo candidato. Evidencia: el repositorio no proporciona pruebas históricas ni de tiempo de ejecución más amplio. Utilice este hecho de eliminación de clave de versión para predecir un miembro o escalar en la salida de servicios sin versión. Consulte las advertencias antes de decidir algo sobre la compatibilidad heredada.
El código no establece por qué las ramas de formato anteriores divergieron, por lo que documenta las claves generadas actualmente.
Por qué 2 y 3 divergieron: claves orientadas a enjambre en 3, límites de recursos en 2 y la confusión que causó. Evidencia: la divergencia histórica no se explica por la implementación del convertidor; El código no establece por qué divergieron las ramas de formatos anteriores, por lo que documenta las claves generadas actualmente. Juzgue la serialización de eliminación de la clave de versión de su modelo. Las citas en la salida de servicios sin versión protegen los tipos, pero no proporcionan pruebas operativas de compatibilidad heredada.
La segunda observación de serialización de configuración es mantener para esta sección de configuración el comando original para esta sección de configuración y las advertencias al lado de esta sección de configuración, este archivo candidato que el resultado de serialización de configuración separa representado para esta sección de configuración, la configuración del contexto ausente para esta sección de configuración, los metadatos de imagen están fuera de la transformación de serialización de configuración. Este resultado de eliminación de clave de versión separa la configuración del contexto no disponible. Mantenga la salida de los servicios sin versión revisable y verifique la compatibilidad heredada de forma independiente.
La respuesta de la especificación: un esquema, sin campo de versión, características controladas por la implementación de Compose
La respuesta de la especificación: un esquema, sin campo de versión, características controladas por la implementación de Compose. Deténgase en la excepción de eliminación de la clave de versión en lugar de adivinar. Cualquier adición a la salida de servicios casi sin versión necesita un motivo específico de implementación vinculado a la compatibilidad heredada.
Otra restricción de excepción de configuración es que la semántica heredada de Python y Swarm necesita referencias versionadas. Evidencia: la semántica heredada de Python y Swarm necesita referencias versionadas. Mantenga el comando de eliminación de la clave de la versión original junto a las advertencias. La comparación muestra qué contiene la salida de servicios sin versión y qué decisión de compatibilidad heredada sigue siendo manual.
Qué hacer con archivos antiguos: eliminar la clave, verificar si hay claves solo v2 o solo v3 y ejecutar la configuración de Docker Compose
Qué hacer con los archivos antiguos: eliminar la clave, verificar si hay claves solo v2 o solo v3 y ejecutar la configuración de Docker Compose. Evidencia: eliminar la versión no puede validar todas las claves heredadas restantes. Cree el ejemplo de eliminación de clave de versión a partir de nombres sintéticos. Haga que cada elemento de salida de servicios sin versión sea rastreable sin exponer los detalles de compatibilidad heredados de producción.
El mismo ejemplo de configuración demuestra que un límite de ejemplo de configuración independiente es que la salida nueva se ajusta a los servicios sin pretender compatibilidad universal. Evidencia: la nueva producción encaja dentro de los servicios sin pretender compatibilidad universal. El hecho de eliminar la clave de versión emparejada debería ser visible en la salida de los servicios sin versión. Registre esa línea y evite suposiciones sobre la compatibilidad heredada.
Ejemplo resuelto: eliminar solo la línea de versión después de revisar todas las claves restantes
Ejemplo resuelto: modernizar una versión: archivo '2.1': tres ediciones y la diferencia de antes y después. Evidencia: un ejemplo de modernización debería eliminar solo ese marcador después de la revisión; Ejemplo resuelto: elimine solo la línea de versión después de revisar todas las claves restantes. Traduzca la consecuencia de la eliminación de la clave de versión en una diferencia observable de salida de servicios sin versión. Docker posee el veredicto de compatibilidad heredado posterior.
La implementación de consecuencias de configuración también muestra para esta sección de configuración mantener el comando original para esta sección de configuración y advertencias al lado de para esta sección de configuración este archivo candidato ese hecho de consecuencias de configuración define qué para esta sección de configuración el navegador contribuyó para esta sección de configuración Docker aún posee el veredicto de tiempo de ejecución de consecuencias de configuración el operador de esta sección de configuración aún posee la política de seguridad de consecuencias de configuración el repositorio de esta sección de configuración aún necesita que se elimine el secreto de consecuencias de configuración mantenga para esta sección de configuración esas responsabilidades separadas cuando para esta sección de configuración se describe el servicio generado. Responsabilidades de eliminación de claves de versión dividida: la conversión escribe la salida de servicios sin versión, el repositorio elimina secretos y los operadores validan la compatibilidad heredada.
Los requisitos de la herramienta Python heredada y el comportamiento de implementación de Swarm no se infieren de este convertidor
Lo que esto no cubre: el antiguo Python docker-compose v1, que aún requiere la clave, y la configuración de implementación específica de Swarm. Evidencia: la semántica heredada de Python y Swarm necesita referencias versionadas; Los requisitos de la herramienta Python heredada y el comportamiento de implementación de Swarm no se infieren de este convertidor. Limite el alcance de la eliminación de la clave de versión a las ramas de salida de servicios sin versión que se muestran aquí. Los formularios vecinos y los valores predeterminados no pueden responder preguntas de compatibilidad heredada.
Un límite más del alcance de la configuración se deriva de mantener el comando original para esta sección de configuración y las advertencias al lado de este archivo candidato. Trate este límite de eliminación de clave de versión como una exclusión. Prefiera resultados precisos de servicios sin versión a conjeturas sobre la compatibilidad heredada.
Conclusión: el formato de archivo tiene una forma actual y una definición de servicio recién convertida encaja en servicios: sin una línea de versión
Conclusión: el formato de archivo tiene una forma actual y una definición de servicio recién convertida encaja en servicios: sin una línea de versión. Auditar la eliminación de la clave de versión como opción de origen, campo de modelo, línea de salida de servicios sin versión y advertencia. Elimine los secretos antes de comprobar la compatibilidad heredada.
Finalmente, la fuente de configuración para llevar confirma. Un límite de decisión de configuración separado es que la divergencia histórica no se explica por la implementación del convertidor. Evidencia: la divergencia histórica no se explica por la implementación del convertidor. Cerrar la eliminación de la clave de versión por poco: la salida de servicios sin versión es candidata; La compatibilidad heredada y la equivalencia de shell no son garantías.