Catégorie : Microsoft

Docker – DockerFile

Salut !

Après avoir vu comment mettre en place une plateforme docker dans un environnement Windows, nous allons voir ensemble comment automatiser le déploiement de ces conteneurs Docker.

Pour cela, nous allons créer un fichier d’automatisation des actions (DockerFile) pour déployer un conteneur de manière autonome.

Dans notre scénario nous souhaitons:

  • Récupérer un conteneur Debian depuis le Hub officiel
  • Installer Apache2, Php, Sqlite, Curl …
  • Déployer un blog WordPress

A la fin de l’exécution de ce dockerfile, nous aurons ainsi une plateforme de blog WordPress opérationnelle.

  • DockerFile:

Pour déployer un dockerfile facilement dans un environement Boot2docker, je vous recommande de transférer votre fichier dockerfile à l’aide SCP (Vous pouvez utiliser l’utilitaire WinSCP par exemple). Le nom d’utilisateur et mot de passe de la machine virtuelle Boot2docker sont : nom utilisateur: docker ; mot de passe: tcuser

FROM debian:wheezy
MAINTAINER ZiGMaX (zigmax.net)

# Download Apache2/Curl/Php/rsync/wget/unzip
RUN apt-get update && apt-get install -y \
apache2 \
curl \
libapache2-mod-php5 \
php5-curl \
php5-sqlite \
php5-gd \
rsync \
wget \
unzip \
&& rm -rf /var/lib/apt/lists/*

# A2enmod
RUN a2enmod rewrite

# Download and extract wordpress
RUN rm -rf /var/www/
ADD http://wordpress.org/latest.tar.gz /wordpress.tar.gz
RUN tar xvzf /wordpress.tar.gz
RUN mv /wordpress /var/www/
# Fix permissions on all of the files
RUN chown -R www-data:www-data /var/www/

# Sqlite WordPress plugin
RUN curl -o sqlite-plugin.zip https://downloads.wordpress.org/plugin/sqlite-integration.1.8.1.zip
RUN unzip sqlite-plugin.zip -d /var/www/wp-content/plugins/
RUN rm sqlite-plugin.zip
RUN cp /var/www/wp-content/plugins/sqlite-integration/db.php /var/www/wp-content
RUN cp /var/www/wp-config-sample.php /var/www/wp-config.php

#Manually set Apache variables
ENV APACHE_RUN_USER www-data
ENV APACHE_RUN_GROUP www-data
ENV APACHE_LOG_DIR /var/log/apache2

# Expose port 80 and run Apache
EXPOSE 80
CMD ["/usr/sbin/apache2", "-D", "FOREGROUND"]

 

  • Comprendre le DockerFile

MAINTAINER : nom du mainteneur du DockerFile (Ici c’est nous !)

FROM : image de base (Dans notre scénario Debian)

VOLUME : Point de montage (Non utilisé dans notre scénario)

RUN : commande à exécuter pour installer le conteneur. (Dans notre cas, nous utilisons la commande RUN à de nombreuses reprises pour lancer des commandes « système »)

ENTRYPOINT : commande qui s’exécute au démarrage du conteneur (une seule sera exécutée).

CMD : commande qui s’exécute au démarrage du conteneur.

ADD : Copier un fichier du répertoire courant dans le filesystem du conteneur. (Dans cet exemple pour récupérer la dernière version de WordPress)

USER : utilisateur qui exécute les commandes dans le conteneur. (Non utilisé dans notre scénario)

EXPOSE : Port(s) à exposer à l’exterieur (Dans notre cas le port du serveur web apache)

 

  • Executer son DockerFile

sudo docker build -t dockerwp .

Attention le « . » permet de rechercher un fichier DockerFile dans votre répertoire courant.

 

  • DockerFile: Translation de port

docker run -d -p 80:80 dockerwp

dockerfilewp

 

 

Comme vous avez pu le constater, la syntaxe d’automatisation du DockerFile est plutôt simple. Il est également possible de faire appel à des scripts shells externes ou encore à des agents Puppet / Chef (Je ferai un article pour vous faire une démo prochainement).

SQL Azure Québec

Salut !

Ce samedi 6 Juin aura lieu une journée SQL Azure à Québec.

Adresse: Grand Hotel Times de Québec

5100, Boulevard des Galeries, Salle Tribeca, Québec, QC (map)

Programme de la journée:

8h30 : Accueil 

9h00 : Introduction (Louis Roy, Microsoft) 

9h45 : Session 1 – Backup dans Azure, Bases de données hybrides (Éric Moreau)

Cette session vous montrera comment prendre des backups de vos bases de données « on premises » vers Azure. Il vous montrera aussi comment utiliser des bases de données hybrides.

10h45 : Pause

11h00 : Session 2 – Azure HDInsight (Christian Côté)

Cette session va démontrer ce qu’est Azure HDInsight et comment on peut l’utiliser. Les outils tels que Hive et Pig seront entre autre démontrés.

12h00 : Lunch (inclus)

13h00 : Session 3 – Data (SQL Azure, Table et Blob Storage) (Eric Moreau)

SQL Azure est une base de données relationnelle en tant que service, Azure Storage permet de stocker et d’extraire de gros volumes de données non structurées (par exemple, des documents et fichiers multimédias) avec les objets blob Azure ; de données NoSql structurées avec les tables Azure ; de messages fiables avec les files d’attente Azure.

14h15 : Pause

14h30 : Session 4 – Azure Data Factory (Christian Côté)

Azure Data Factory offre les services de coordination, monitoring et de transfert de données sur Azure. Cette session va démontrer l’utilisation ainsi que les possibilités qu’offre le service.

15h45 : Conclusion et tirages

Nous ferons tirer parmi les participants présents, une tablette Asus VivoTab 8 (gracieuseté de Microsoft) ainsi que quelques abonnements Office 365 et quelques livres.

 

Pour vous inscrire, c’est ici: http://www.meetup.com/msdevmtl/events/222193944/

Au plaisir de vous y croiser.

 

EDIT: Liens vers les présentations

Samedi SQL Québec – Intro par Louis Roy
http://www.slideshare.net/MSDEVMTL/samedi-sql-qubec-sql-day-quebec-city-june-6th

Samedi SQL Québec – Database Backup & copy to Azure par Eric Moreau
http://www.slideshare.net/MSDEVMTL/database-backupcopy-to-azure

Samedi SQL Québec – La plateforme data de Azure
http://www.slideshare.net/MSDEVMTL/samedi-sql-qubec-la-plateforme-data-de-azure

Introduction to hd insight
http://www.slideshare.net/MSDEVMTL/introduction-to-hd-insight-49121647

Introducing Azure Data Factory
http://www.slideshare.net/MSDEVMTL/adf-dw-walkthrough

Azure Ebooks – Mai 2015

Salut !

Je profite de cet article pour vous annoncer la sortie de 3 nouveaux ebooks gratuits portant sur Microsoft Azure.

Microsoft Azure Essentials: Azure Machine Learning
Jeff Barnes
April 2015
237 pages
This third ebook in the “Microsoft Azure Essentials” series introduces Microsoft Azure Machine Learning, a service that a developer can use to build predictive analytics models (using training datasets from a variety of data sources) and then easily deploy those models for consumption as cloud web services. The ebook presents an overview of modern data science theory and principles, the associated workflow, and then covers some of the more common machine learning algorithms in use today.

Microsoft Azure Essentials: Azure Automation
Michael McKeown
April 2015
112 pages
The “Microsoft Azure Essentials” series helps you advance your technical skills with Microsoft Azure. “Microsoft Azure Essentials: Azure Automation” will help IT pros and Windows PowerShell developers understand the core concepts around Azure Automation. Using a highly scalable workflow execution environment, Azure Automation allows you to orchestrate frequent deployment and life cycle management tasks using runbooks based on Windows PowerShell Workflow functionality.

Microsoft Azure Essentials: Fundamentals of Azure
Michael S. Collier and Robin E. Shahan
February 2015
246 pages
The “Microsoft Azure Essentials” series helps you advance your technical skills with Microsoft Azure. “Microsoft Azure Essentials: Fundamentals of Azure” introduces developers and IT professionals to the wide range of capabilities in Azure. The authors—both Microsoft MVPs in Azure—present conceptual and how-to content for seven key areas and describe management tools and business cases.

Lien vers la page de téléchargement: http://www.microsoftvirtualacademy.com/ebooks
Bonne lecture,