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