Symfony Montréal

Présenté par 

Bienvenue

Michaël Villeneuve

Directeur technique chez ctrlweb

 

@villeneuve-michael

@villeneuve-michael

2015/2016

Engagement de 1 ans

8 meetups en 2016 chaque 6 semaines

- Docker et Symfony (16/11/2015)
- Symfony 3.0 (25/01/2016)

- Développer un API FOSRestBundle 
- Créer un CMS avec SonataAdminBundle
- Optimiser Doctrine
- Redis/Memcache/Varnish et Symfony
- Sylius

La structure d'un meetup

17h30 - 18h00 Réseautage 

18h00 - 18h30 Présentation théorique

18h30 - 19h00 Présentation pratique

19h00 - 19h30 Réseautage

Transition vers le pub victoria

Aujourd'hui

Objectif

  • Vous apprendre les principes fondamentaux de docker
  • Vous donner un environnement pour un projet Symfony fonctionnel

 

Horaire

18h00 Introduction

18h05 Terminologie

18h10 Qu'est-ce que Docker

18h30 Création d'un 

environnement

Terminolgie

Docker Engine

Construit et execute vos Container 

 

Docker Hub

L'équivalent de github; contient un registre des différentes images

 

https://hub.docker.com/

Docker Image

Un fichier qui contient une description de votre application

 

Terminolgie

Docker Container

Créé à partir d'une image, contient votre application

 

Si votre image est une classe, voyez le container comme une instance de la classe.

Docker Compose

Application "multi-container".  

 

Terminolgie

Qu'est-ce que Docker?

Docker vous permet d'envelopper votre  application et toutes ses dépendances dans une unité standard de développement

Pourquoi Docker?

Pourquoi Docker?

  1. Élimine les inconsistences d'environemments
  2. Accèlere la mise en place de vos projets 
  3. Permet de partager vos projets plus facilement
  4. Permet de mettre à l'échelle vos applications 
  5. Facilite vos déploiements
  6. Versionne votre environnement

Docker vs Vagrant

Docker vs Vagrant

Une réponse plus complète ici!

Ma conclusion personnelle : 
Si votre but est uniquement de construire et exécuter une application, Docker est la solution la plus simple.

Il reste 10 minutes!!!

Processus de création d'une image de base

Chercher un container

$ docker search ubuntu
$ docker pull ubuntu
$ docker run -it ubuntu ./bin/bash

Exécuter un container et une commande

$ docker commit -a {author} {container} {image-name}{:tag}

Enregistrer une nouvelle image 

Visuellement

{

ubuntu-apache:0.1

Docker et Symfony

Objectif

  1. Un container avec Apache
  2. Un container avec Mysql
  3. Mes configurations Apache défini à l'intérieur de mon projet
    1. myapp.conf
    2. php.ini

Comment?

/docker-compose.yml
/myapp/Dockerfile
/myapp/server-config/

3 étapes

  1. Création d'un docker-compose
  2. Création des configurations serveurs
  3. Création d'un Dockerfile
Made with Slides.com