Docker /
Démarrage rapide avec Docker

29/10/2017

Un pense bête sur l'utilisation de Docker avec une stack LAMP

Installer les containers

Le plus simple est d’utiliser un fichier docker-compose.yml

Créez le fichier docker-compose.yml suivant à la racine de votre projet.

php_apache:
  image: webdevops/php-apache:7.1
  links:
    - db:mysql
  ports:
    - 8989:80
  volumes:
    - ./:/app/
    - ./php.ini/:/opt/docker/etc/php/php.ini
db:
  image: mariadb
  ports:
    - 3306:3306
  volumes:
    - "./data/:/var/lib/mysql"
  environment: 
    MYSQL_ROOT_PASSWORD: examplepass
phpmyadmin:
  image: corbinu/docker-phpmyadmin
  links:
    - db:mysql
  ports:
    - 8181:80
  environment:
    MYSQL_USERNAME: root
    MYSQL_ROOT_PASSWORD: examplepass

Démarrer les containers

Dans votre projet tapez docker-compose up -d à l’inverse docker-compose down

Pour vérifier les containers qui tournent actuellement docker ps

Utiliser les containers

Allez sur http://localhost:8989 pour accéder à votre projet.

configurer la bdd

Pour administrer la db depuis un db manager ( sequel pro.. )

host : 127.0.0.1
port : 3306
MYSQL_USERNAME: root
MYSQL_ROOT_PASSWORD: examplepass

NB : Pour connecter votre app à la db, utilisez : host : mysql

Tester la connection

Ici un simple test avec node.js

npm install mysql

var mysql      = require('mysql');


var connection = mysql.createConnection({
  host     : '127.0.0.1',
  user     : 'root',
  password : 'examplepass',
  database : 'information_schema'
});

connection.connect();

connection.query('SELECT * FROM ALL_PLUGINS', function (error, results, fields) {
  if (error) throw error;
  console.log('The solution is: ', results[0] );
});

connection.end();

Configurer PHP

Si cette configuration est destinée au dev, vous voulez surement afficher les erreurs PHP.

Pour ce faire, créez un fichier php.ini à la racine de votre projet.

Dans ce fichier ajoutez :

## PHP CONFIG
display_errors = On
display_startup_errors = On
error_reporting  =  E_ALL