Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
La tête dans les nuages avec
ZendServer, Magento2,
MS Azure e...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
P...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
S...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
D...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
A...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
C...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
I...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
L...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
C...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
C...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
C...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
s...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
s...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
B...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
A...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
A...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
E...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
D...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
O...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
A...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
I...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
#...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
i...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
p...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
c...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
<...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
O...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
A...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
P...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
R...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
L...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
P...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
I...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
C...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
E...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
E...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
R...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
O...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
O...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
O...
Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
THE END
….maintenant à vous de tester !
Retrouvez les sources...
Prochain SlideShare
Chargement dans…5
×

Déployer Magento2 dans MS Azure avec #zendServer et #docker ! @DarkmiraTour

864 vues

Publié le

Deploying Magento2 into Azure with #zendServer and #docker @DarkmiraTour

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
864
Sur SlideShare
0
Issues des intégrations
0
Intégrations
45
Actions
Partages
0
Téléchargements
4
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Déployer Magento2 dans MS Azure avec #zendServer et #docker ! @DarkmiraTour

  1. 1. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés La tête dans les nuages avec ZendServer, Magento2, MS Azure et Docker !
  2. 2. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés Pierre Fay Expert technique Magento, @Itelios Membre de la Z-Team Blog : www.pierrefay.fr / www.pierrefay.com Twitter : @pierrefay
  3. 3. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés Spécialiste du commerce connecté et digital Itelios c'est : - Société de service et conseil - Accompagne les distributeurs et les marques Jules, Jennifer, Lacoste, Bizbee, Kenzo, Maje, Sandro… - 100 experts répartis sur 4 sites Lille, Paris, Macôn, Sao Paolo - Plateformes ecommerce, mobile, tablettes magasins, crm, marketplace ... Site web : www.itelios.com Twitter : @itelios
  4. 4. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés
  5. 5. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés Docker c'est quoi ? - Une sorte de VM allégée - Basée sur un système d'exploitation - Installation uniquement de ce qui est nécessaire - Création d'une « Image » permettant de lancer des « containers » - Possibilité de partager un dossier, ouvrir un port, lier les containers entre eux, etc..
  6. 6. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés A faire : En attente En attente En attente En attente
  7. 7. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés Container Le process Dockerfile Image Container BUILD RUN Container
  8. 8. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés Installer docker wget ­qO­ https://get.docker.com/ | sh Sur Ubuntu, se loguer dans Ubuntu avec les privilèges « sudo » puis :
  9. 9. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés Les principales commandes docker build ­t <nom_image> . BUILD RUN STOP RM docker run ­d ­p 3306:3306 ­v /data/mysql:/var/lib/mysql  ­­name  <nom_image> <nom_du_container> docker stop <nom_du_container> docker rm <nom_du_container>
  10. 10. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés Créer un container à partir d'une image docker run busybox /bin/echo hi  On utilise docker run : Docker va alors automatiquement récupérer l'image « busybox » et exécuter « /bin/echo hi » au démarrage.
  11. 11. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés Créer sa propre image Rappel du process : Dockerfile : C'est le fichier qui décrit le container ● Sur quel système d'exploitation je me base ? ● Quels applications j'installe ? ● Quels fichier j'ajoute dans mon container et à quel endroit ? ● Quels ports je vais ouvrir ? ● Quels dossiers de mon container vont être partagés et avec quels dossiers de ma machine ? ● Quel port de ma machine va correspondre à un port de mon container ? ● Qu'est ce que je lance au démarrage ? Container Dockerfile Image Container BUILD RUN Container
  12. 12. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés Creer la base de donnée Dockerfile from ubuntu  RUN apt­get update  RUN DEBIAN_FRONTEND=noninteractive apt­get ­y dist­upgrade  RUN DEBIAN_FRONTEND=noninteractive apt­get install ­y mysql­server­5.6  mysql­client­5.6 expect ADD ./startup.sh /usr/local/bin/startup.sh RUN chmod +x /usr/local/bin/startup.sh VOLUME ["/var/lib/mysql"] EXPOSE 3306 CMD ["/bin/bash","/usr/local/bin/startup.sh"] 
  13. 13. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés startup.sh #!/bin/bash /usr/sbin/service mysql start /usr/bin/mysqld_safe sed ­i ­e"s/^bind­addresss*=s*127.0.0.1/bind­address = 0.0.0.0/"  /etc/mysql/my.cnf if [ ! ­f /usr/share/mysql/my­default.cnf ] ; then    cp /etc/mysql/my.cnf /usr/share/mysql/my­default.cnf fi mysql_install_db echo "GRANT ALL ON *.* TO pfay@'%' IDENTIFIED BY 'pfay123' WITH GRANT  OPTION; FLUSH PRIVILEGES" | mysql Creer la base de donnée
  14. 14. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés startup.sh service mysql restart echo "DROP DATABASE IF EXISTS magento2" > /createdb.sql mysql < /createdb.sql echo "CREATE DATABASE IF NOT EXISTS magento2" > /createdb.sql mysql < /createdb.sql tail ­f /var/log/*.log Creer la base de donnée
  15. 15. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés Build, Run, Exec docker build ­t pierrefay/magento2­cloud . Les commandes à lancer depuis le dossier qui contient le Dockerfile. Dabord on crée l'image avec la commande « build » : Puis on lance le container avec la commande « run » à partir de l'image crée précédemment : On vérifie ensuite que ma base de donnée « magento2 » a bien été crée. docker run ­­name magento2­cloud ­p 3306:3306 pierrefay/magento2­cloud # docker exec ­i ­t magento2­cloud mysql ­u pfay ­ppfay123 magento2 mysql> show databases; +­­­­­­­­­­­­­­­­­­­­+ | Database           | +­­­­­­­­­­­­­­­­­­­­+ | information_schema | | magento2           |
  16. 16. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés Avancement…   √ OK En attente En attente En attente
  17. 17. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés Ajouter ZendServer RUN DEBIAN_FRONTEND=noninteractive apt­get install ­y wget  RUN wget http://repos.zend.com/zend.key ­O­ |apt­key add ­ RUN echo "deb http://repos.zend.com/zend­server/8.0.2/deb_apache2.4   server non­free" >> /etc/apt/sources.list.d/zend­server.list RUN DEBIAN_FRONTEND=noninteractive apt­get update RUN DEBIAN_FRONTEND=noninteractive apt­get install ­y libapache2­mod­ php­5.6­zend­server zend­server­php­5.6 RUN DEBIAN_FRONTEND=noninteractive /usr/local/zend/bin/zendctl.sh stop A rajouter dans le Dockerfile les lignes suivantes:
  18. 18. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés EXPOSE 80 EXPOSE 10081  EXPOSE 10082 Dockerfile (suite) Ajouter ZendServer
  19. 19. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés Dans startup.sh, ajouter tout au début : export PATH=/usr/local/zend/bin:$PATH source /etc/zce.rc Ajouter ZendServer service zend­server restart tail ­f /var/log/apache2/*.log > /var/www/html/logs­server.log Puis à la fin du fichier, on redémarre le serveur et on change le tail -f pour prendre les logs apache.
  20. 20. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés On reteste docker build ­t pierrefay/magento2­cloud . Les commandes à lancer depuis le dossier qui contient le Dockerfile. Dabord on crée l'image avec la commande « build » : Puis on lance le container avec la commande « run » à partir de l'image crée précédemment : On voit : Donc on vérifie que tout fonctionne en se connectant sur : - http://172.17.0.9/ - http://172.17.0.9:10081/ZendServer/ docker run ­­name magento2­cloud pierrefay/magento2­cloud domain name, using 172.17.0.9. Set the 'ServerName' directive globally
  21. 21. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés Avancement…   √ OK  √ OK En attente En attente
  22. 22. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés Installer magento2 RUN DEBIAN_FRONTEND=noninteractive apt­get install ­y wget php5 php5­ cli git curl  RUN DEBIAN_FRONTEND=noninteractive curl ­sS  https://getcomposer.org/installer | php   RUN DEBIAN_FRONTEND=noninteractive mv composer.phar   /usr/local/bin/composer ADD ./000­default.conf /etc/apache2/sites­available/000­default.conf VOLUME ["/var/www/magento2"] Dockerfile
  23. 23. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés #!/bin/bash echo $BASE_URL echo $TOKEN_GITHUB Installer magento2 On affiche les variables d'environnements (qu'on passera via docker RUN) startup.sh
  24. 24. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés if [ 'find /var/www/magento2 ­prune ­empty' ] then rm ­rf /var/www/magento2 cd /var/www/ && git clone https://github.com/magento/magento2.git  chmod 755 ­R /var/www/magento2/var/ chmod 755 ­R /var/www/magento2/pub/ chmod 755 ­R /var/www/magento2/app/etc/ chmod 755 ­R /var/www/magento2/media/ cd /var/www/magento2 && composer config ­g github­oauth.github.com  $TOKEN_GITHUB cd /var/www/magento2 && composer install ­­no­interaction cd /var/www/magento2 && composer update else echo 'Directory magento2 not empty, skiping installation' fi Installer magento2 Si le dossier est vide, on télécharge depuis le repository public de magento2 et on installe avec composer. startup.sh (suite)
  25. 25. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés php ­f bin/magento setup:install      ­­base­url=http://$BASE_URL/       ­­backend­frontname=admin      ­­db­host=localhost      ­­db­name=magento2      ­­db­user=pfay   ­­db­password=pfay123      ­­admin­firstname=Mage       ­­admin­lastname=Admin      ­­admin­email=admin@example.com       ­­admin­user=admin       ­­admin­password=admin123      ­­language=fr_FR      ­­currency=EUR      ­­timezone=Europe/Paris Installer magento2 On installe magento en CLI pour ne pas passer par l'installeur HTTP. startup.sh (suite)
  26. 26. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés cd /var/www/magento2 && composer config repositories.magento composer  http://packages.magento.com  cd /var/www/magento2 && composer require magento/sample­data:0.74.0­ beta12 cd /var/www/magento2 && php ­f bin/magento setup:upgrade cd /var/www/magento2 && php ­f bin/magento sampledata:install admin rm  ­rf /var/www/magento2/var/cache/* chmod 777 ­R /var/www/magento2/var/ chmod 777 ­R /var/www/magento2/pub/ chmod 777 ­R /var/www/magento2/app/etc/ chmod 777 ­R /var/www/magento2/media/ Installer magento2 On installe les samples datas, on redonne les droits puis on vide le cache. startup.sh (suite et fin)
  27. 27. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés <VirtualHost *:80> ServerName www.magento2­cloud.lan ServerAdmin webmaster@localhost DocumentRoot /var/www/magento2 <Directory /var/www/magento2>         Options Indexes FollowSymLinks MultiViews         AllowOverride All         Order allow,deny         allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> Installer magento2 On crée le fichier 000-default.conf pour faire pointer
  28. 28. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés On reteste docker build ­t pierrefay/magento2­cloud . Les commandes à lancer depuis le dossier qui contient le Dockerfile. Dabord on crée l'image avec la commande « build » : Puis on lance le container avec la commande « run » à partir de l'image crée précédemment : On voit : On rajoute <mon ip> dans /etc/hosts et on se connecte sur www.magento2-cloud.lan docker run ­­name magento2­cloud             ­­env BASE_URL="www.magento2­cloud.lan"             ­­env TOKEN_GITHUB="<ma_clef_github_publique>"            pierrefay/magento2­cloud domain name, using <mon ip> Set the 'ServerName' directive globally
  29. 29. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés Avancement…   √ OK  √ OK  √ OK En attente
  30. 30. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés Pourquoi Microsoft Azure ? Crédit Photo : openclassrooms.com - Déploiement de vos containers docker directement - Améliorer les performances de votre site - Adapter les capacités de l'hébergement à vos besoins réels (montée en charge) temporaire (soldes) ou non, facturation en conséquence - Avoir très bonne disponibilité - Avoir une grande réactivité évolution des capacités de votre hébergement très rapidement, à la demande - Se concentrer sur l'application, plutôt que sur l'hébergement
  31. 31. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés Rendre mon container accessible depuis l'extérieur  Environnement local Magento2-cloud :80 (http) :10081 (zendserver) :10082 (zendserver) :3306 (mysql)  √ OK  Environnement Azure Magento2-cloud ( ???) :80 (http) :10081 (zendserver) :10082 (zendserver) :3306 (mysql) Connectes toi à magento2-cloud.cloudapp.net (ou magento2-cloud.lan) X NOK je retrouve le chemin de mon container car il est défini manuellement dans /etc/hosts Environnement local Je me connecte à la machine OK,mais comment je retrouve ton container ?
  32. 32. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés La solution Le container est sur un réseaux interne 172.17.0.XXX Solution: on va « mapper » les ports exposés aux ports du serveur docker run ­d ­­name magento2­cloud   ­p 80:80       ­p 10081:10081     ­p 10082:10082             ­­env BASE_URL="magento2­cloud.cloudapp.net"             ­­env TOKEN_GITHUB="<ma_clef_github>"              pierrefay/magento2­cloud
  33. 33. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés Persistance des données A chaque fois que je redémarre mon container, mes données sont réinitialisées Solution: on va monter des « volumes » pour « sauvegarder » /var/www/html et /var/lib/mysql/ Puis on va vérifier dans startup.sh si les fichier existent déjà avant de refaire les opérations d'installation ­v /data/magento2­cloud/mysql/:/var/lib/mysql  ­v /data/magento2­cloud/html/:/var/www/magento2 
  34. 34. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés Installer Azure CLI sudo apt­get install npm sudo apt­get install nodejs­legacy npm install azure­cli ­g  Installer le programme pour se connecter via npm Télécharger les données du compte <mon_login_Azure> = mon adresse mail, <mon_mdp_Azure> = mon login itelios azure account download  info:    Executing command account download info:    Launching browser to http://go.microsoft.com/fwlink/?LinkId=254432 help:    Save the downloaded file, then execute the command help:      account import <file> info:    account download command OK azure  account import <le_fichier_téléchargé.publishsettings>  azure  account list
  35. 35. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés Créer sa VM Azure Pour lister les images disponibles pour créer ma VM : azure vm docker create ­e 22 ­l "North Europe" magento2­cloud  "<code_de_la_VM>" ­­vm­size Basic_A3 itelios SecretPassword234!  Pour créer ma VM : On démarre la VM : azure vm image list | grep 'Ubuntu_DAILY_BUILD­trusty­' azure vm start magento2­in­the­cloud
  36. 36. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés Envoyer un premier container « hello world » On utilise l'image busybox pour lancer « echo hello world » L'image n'étant pas présente sur la VM docker va automatiquer faire un « docker pull » pour la récupérer depuis le docker Hub. docker ­H tcp://magento2­cloud.cloudapp.net:4243 ­­tls run busybox  /bin/echo hello world
  37. 37. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés Envoyer son container docker sur docker Hub Docker Hub : ● Repository d'images Docker ● Il est possible d'avoir un Hub privé ● Pour pousser sur le hub : « docker push » docker push pierrefay/magento2­cloud
  38. 38. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés Récupérer son container sur Azure On récupère l'image depuis le docker hub : docker ­H tcp://magento2­cloud.cloudapp.net:4243 ­­tls pull  pierrefay/magento2­cloud
  39. 39. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés On lance notre container sur Azure Docker Hub : ● Repository d'images Docker ● Il est possible d'avoir un Hub privé ● Pour pousser sur le hub : « docker push » docker ­H tcp://magento2­cloud.cloudapp.net:4243 ­­tls run ­­name  magento2­cloud      ­­env BASE_URL="magento2­cloud.cloudapp.net"      ­­env TOKEN_GITHUB="<TOKEN_GITHUB>"                   ­v /data/magento2­cloud/mysql/:/var/lib/mysql      ­v /data/magento2­cloud/html/:/var/www/magento2     ­p 80:80    ­p 10081:10081    ­p 10082:10082  pierrefay/magento2­cloud
  40. 40. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés On ouvre les ports sur la VM azure vm endpoint create magento2­cloud 80 azure vm endpoint create magento2­cloud 3306 azure vm endpoint create magento2­cloud 10081 azure vm endpoint create magento2­cloud 10082
  41. 41. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservésCopyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés On lance notre container sur Azure Pour relancer un container : stop + rm + run run ­­name magento2­cloud      ­­env BASE_URL="magento2­cloud.cloudapp.net"      ­­env TOKEN_GITHUB="<TOKEN_GITHUB>"                   ­v /data/magento2­cloud/mysql/:/var/lib/mysql      ­v /data/magento2­cloud/html/:/var/www/magento2     ­p 80:80    ­p 10081:10081    ­p 10082:10082  pierrefay/magento2­cloud
  42. 42. Copyright © 2003 - 2015 • ITELIOS SAS • Tous droits réservés THE END ….maintenant à vous de tester ! Retrouvez les sources de cette conférence sur : https://github.com/pierrefay/magento2-azure-demo Retrouvez moi sur : Twitter : @pierrefay Blog : pierrefay.fr / pierrefay.com

×