Elastic Beanstalk déployer containeur Docker

On a vu comment déployer automatiquement du code quand on push sur une branche. Maintenant, il est temps de customiser le déploiement pour mettre nos containeurs.

Configuration Beanstalk (EB)

Pas grand chose à faire, si vous avez ceci dans votre tableau de bord, c'est bon : ![AWS EB Docker](/images/10/beanstalk.png)

Dockerfile

Au déploiement, EB va lire les fichiers **Dockerfile** et **Dockerrun.aws.json**, on va rester sur le premier vu qu'on connait déjà.

Dans le principe, EB va éxecuter le containeur et le publier une fois qu'il aura fini.

Il faut donc penser à ajouter les sources. Sinon rien de fou :

Dockerfile

FROM lavoweb/php-7.0

COPY . /var/www/html/
RUN sed -ie s#/var/www/html#/var/www/html/public#g /etc/apache2/sites-enabled/000-default.conf

EXPOSE 80

On prend l'image lavoweb/php-7.0, on copie notre code dans le répertoire /var/www/html/ On remplace le vhost pour qu'il écoute sur le dossier public Et c'est tout.

A chaque push, on prendra la dernière version du containeur, ou mieux, celle qu'on tag dans notre Dockerfile avec la dernière version du code (de la branche en cours).