Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Migración a Docker de Elastic Beanstalk que se ejecuta en Amazon Linux 2 desde Multicontainer Docker que se ejecuta en Amazon Linux
Antes del lanzamiento de la ramificación de la plataforma ECS que se ejecuta en Amazon Linux 2 de 64 bits, Elastic Beanstalk ofrecía una ruta de migración alternativa a Amazon Linux 2 para los clientes con entornos basados en la ramificación de la plataforma Multicontainer Docker que se ejecuta en Amazon Linux de 64 bits. En este tema se describe esa ruta de migración y se incluye en este documento como referencia para cualquier cliente que haya completado esa ruta de migración.
Ahora recomendamos que los clientes con entornos basados en la ramificación de la plataforma Multicontainer Docker que se ejecuta en Amazon Linux de 64 bits migren a la ramificación de la plataforma ECS que se ejecuta en Amazon Linux 2 de 64 bits. A diferencia de la ruta de migración alternativa, este enfoque continúa utilizando Amazon ECS para coordinar las implementaciones de los contenedores en entornos de Docker administrados por ECS. Este aspecto permite un enfoque más sencillo. No se requieren cambios en el código fuente y se admite el mismo Dockerrun.aws.json
de la v2. Para obtener más información, consulte Migración de la aplicación de Elastic Beanstalk de AL1 Docker multicontenedor gestionado por ECS a ECS en Amazon Linux 2023.
Puede migrar las aplicaciones que se ejecutan en la plataforma Docker de varios contenedores en la AMI de Amazon Linux a la plataforma Amazon Linux 2 Docker. La plataforma Docker Multi-Container en la AMI de Amazon Linux requiere que especifique imágenes de aplicación preconfiguradas para que se ejecuten como contenedores. Después de la migración, ya no tendrá esta limitación, ya que la plataforma de Docker en Amazon Linux 2 también permite a Elastic Beanstalk crear imágenes de contenedor durante la implementación. Sus aplicaciones seguirán ejecutándose en entornos de varios contenedores con los beneficios agregados de la herramienta Docker Compose.
Docker Compose es una herramienta para definir y ejecutar aplicaciones Docker de varios contenedores. Para obtener más información sobre Docker Compose y cómo instalarlo, consulte los sitios de Docker Overview of Docker Compose
El archivo docker-compose.yml
La herramienta Docker Compose utiliza el archivo docker-compose.yml
para la configuración de los servicios de aplicaciones. Este archivo reemplaza el archivo Dockerrun.aws.json v2
en el directorio del proyecto de la aplicación y el paquete de código fuente de la aplicación. Cree el archivo docker-compose.yml
manualmente. Le resultará útil hacer referencia a su archivo Dockerrun.aws.json v2
para la mayoría de los valores de parámetros.
A continuación, se muestra un ejemplo de un archivo docker-compose.yml
y el archivo Dockerrun.aws.json v2
correspondiente para la misma aplicación. Para obtener más información sobre el archivo docker-compose.yml
, consulte Compose file referenceDockerrun.aws.json v2
, consulte Dockerrun.aws.json v2.
docker-compose.yml |
Dockerrun.aws.json v2 |
||
---|---|---|---|
|
|
Consideraciones adicionales sobre la migración
La plataforma Docker Amazon Linux 2 y la plataforma Docker de contenedores múltiples Amazon Linux AMI implementan propiedades del entorno de forma diferente. Estas dos plataformas también tienen directorios de registro diferentes a los que Elastic Beanstalk crea para cada uno de sus contenedores. Después de migrar desde la plataforma Docker de contenedores múltiples de Amazon Linux AMI, deberá tener en cuenta estas diferentes implementaciones para su nuevo entorno de plataforma Docker de Amazon Linux 2.
Área | Plataforma Docker en Amazon Linux 2 con Docker Compose | Plataforma Docker de varios contenedores en la AMI de Amazon Linux |
---|---|---|
Propiedades del entorno |
Para que los contenedores accedan a las propiedades del entorno, debe agregar una referencia al archivo |
Elastic Beanstalk puede pasar directamente las propiedades del entorno al contenedor. El código que se ejecuta en el contenedor puede acceder a estas propiedades como variables de entorno sin ninguna configuración adicional. |
Directorios de registro |
Para cada contenedor, Elastic Beanstalk crea un directorio de registro llamado |
Para cada contenedor, Elastic Beanstalk crea un directorio de registro llamado |
Pasos para realizar la migración
Para migrar a la plataforma Docker de Amazon Linux 2
-
Cree el archivo
docker-compose.yml
para su aplicación, basado en el archivoDockerrun.aws.json v2
existente. Para obtener más información, consulte la sección anterior El archivo docker-compose.yml. -
En el directorio raíz de la carpeta del proyecto de la aplicación, reemplace el archivo
Dockerrun.aws.json v2
por el archivodocker-compose.yml
que acaba de crear.La estructura de directorios debe ser similar a la siguiente.
~/myApplication |-- docker-compose.yml |-- .ebextensions |-- php-app |-- proxy
-
Utilice el comando eb init para configurar el directorio local para la implementación en Elastic Beanstalk.
~/myApplication$
eb init -p docker
application-name
-
Utilice el comando eb create para crear un entorno e implementar la imagen de Docker.
~/myApplication$
eb create
environment-name
-
Si la aplicación es una aplicación web, después de que se inicie el entorno, utilice el comando eb open para verla en un navegador web.
~/myApplication$
eb open
environment-name
-
Puede mostrar el estado del entorno recién creado mediante el comando eb status.
~/myApplication$
eb status
environment-name