Skip to content
Snippets Groups Projects
Commit 7fefb4b2 authored by Gérôme Canals's avatar Gérôme Canals
Browse files

updated boilerplate with 8.1

parent 7bd44720
No related branches found
No related tags found
No related merge requests found
......@@ -29,7 +29,7 @@ $ docker-compose -f docker-compose.yml start
### machine(s) php
* un ou plusieurs services php/apache ou php-cli
* basés sur les images `canals/php`, les tags `:8.0`,`:8.0-cli`, `:7.4`,`:latest`,`:7.4-cli`, `:7.3`,`:7.3-cli`, `:7.2` et `7.2-cli`, `:7.1`
* basés sur les images `canals/php`, les tags `:8.1`,`:8.1-cli`, `:latest`, `:8.0`,`:8.0-cli`, `:7.4`,`:7.4-cli`, `:7.3`,`:7.3-cli`, `:7.2` et `7.2-cli`, `:7.1`
et `7.1-cli`,`:5.6` sont utilisables (pour plus de détails sur ces images,
voir la [doc](https://hub.docker.com/r/canals/php/) )
* conseils : utiliser les vhost et les déclarer dans votre `/etc/hosts`
......@@ -54,26 +54,28 @@ services:
- ./src:/var/www/src
- ./html:/var/www/html
- data:/var/www/data
links :
- mysql:db
- mongodb:mongo
- mailcatcher:mail
- postgres:pg
networks:
- local_network
depends_on :
- mysql
- mongodb
```
#### exemple : service php-cli avec lancement du serveur embarqué :
```
services:
php:
image: canals/php:7.4-cli
image: canals/php:8.1-cli
ports:
- "8800:8000"
volumes:
- ./:/var/php
working_dir: /var/php
command: php -S 0.0.0.0:8000 index.php
links :
- mysql:db
- mongo:mongo
networks:
- local_network
depends_on :
- mysql
- mongodb
```
### mysql + adminer
......@@ -86,28 +88,34 @@ services:
si les fichiers d'import/export sont trop volumineux pour être traités par adminer
#### important :
Ne pas oublier de lier le service mysql dans tous les services qui doivent accéder à la base
mysql, par exemple dans les services php.
Le service mysql est accessible dans tous les services connectés au même réseau avec
un hostname ayant pour valeur le nom du service.
On peut ajouter un ou plusieurs hostname alternatifs avec la directive sous directive `aliases` de la directive `networks`
#### exemple
```
mysql:
image: mariadb:latest
# image: mysql:5.6
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_USER=user
- MYSQL_PASSWORD=user
ports:
- "3603:3306"
networks:
aliases:
- db
adminer:
image: adminer
ports:
- "8080:8080"
links:
- mysql:db
depends_on:
- mysql
# Dans ce conteneur, le serveur mysql est accessible avec le hostname mysql et
# le hostname db
```
### mongodb + mongo-express
......@@ -123,13 +131,17 @@ mysql, par exemple dans les services php.
image: mongo:latest
ports:
- 27017:27017
networks:
local_network:
aliases:
- mongo
mongo-express:
image: mongo-express:latest
ports:
- "8081:8081"
links:
- mongodb:mongo
depends_on:
- mongodb
```
### mailcatcher
......@@ -149,6 +161,10 @@ mailcatcher:
ports:
- "1080:1080"
- "1025:1025
networks:
local_network:
aliases:
- mail.server
```
#### usage
......@@ -157,15 +173,16 @@ mailcatcher:
web:
image: canals/php
...
links :
- mysql:db
- mailcatcher:mail
networks:
- localnetwork
depends_on:
- mailcatcher
```
il faut utiliser le serveur de mail nommé `mail` sur le port `1025`.
il faut utiliser le serveur de mail nommé `mail.server` sur le port `1025`.
Par exemple, avec SwiftMailer :
```
$mailer = new Swift_Mailer( new Swift_SmtpTransport('mail', 1025) );
$mailer = new Swift_Mailer( new Swift_SmtpTransport('mail.server', 1025) );
```
......@@ -6,7 +6,7 @@ networks:
services:
web:
image: canals/php:8.0
image: canals/php:latest
environment:
- VHOST_HOSTNAME=web.test.local
- VHOST_DOCROOT=/var/www/web
......@@ -19,16 +19,19 @@ services:
- ./html:/var/www/html
- data:/var/www/data
working_dir: /var/www/src
links :
- mysql:db
# links :
# - mysql:db
# - postgres:pg
# - mongo:mongo
# - mail:mail
networks:
- local_network
depends_on:
- mysql
- mongo
php:
image: canals/php:8.0-cli
image: canals/php:8.1-cli
expose:
- "8000"
ports:
......@@ -39,9 +42,12 @@ services:
networks:
- local_network
command: php -S 0.0.0.0:8000 web/index-cli.php
links :
- mysql:db
- mongo:mongo
depends_on:
- mysql
- mongo
# links :
# - mysql:db
# - mongo:mongo
# - mail:mail
# - postgres:pg
......@@ -50,7 +56,6 @@ services:
# mysql + adminer / can be replaced by mariadb
#############################
mysql:
#image: mysql:5.6
image: mariadb:latest
environment:
- MYSQL_ROOT_PASSWORD=root
......@@ -59,14 +64,14 @@ services:
ports:
- "3603:3306"
networks:
- local_network
local_network:
aliases:
- db
adminer:
image: adminer
ports:
- "8080:8080"
links:
- mysql:db
networks:
- local_network
......@@ -96,32 +101,33 @@ services:
################################################
# mongodb & mongo-express
###############################################
mongo:
mongodb:
image: mongo:latest
ports:
- 27017:27017
networks:
- local_network
local_network:
aliases:
- mongo
mongo-express:
image: mongo-express:latest
ports:
- "8081:8081"
links:
- mongo:mongo
# links:
# - mongo:mongo
networks:
- local_network
##############################################
# mailcatcher : so useful !
##############################################
# mail:
# image: schickling/mailcatcher
# container_name: mail_test
# ports:
# - "1080:1080"
# networks:
# - local_network
mail:
image: schickling/mailcatcher
ports:
- "1080:1080"
networks:
- local_network
########################################
# shared storage : useful for, e.g. sharing
......
......@@ -6,99 +6,30 @@
],
"content-hash": "36a2b35c58a5b49561f22d67c89c7c85",
"packages": [
{
"name": "composer/package-versions-deprecated",
"version": "1.11.99.1",
"source": {
"type": "git",
"url": "https://github.com/composer/package-versions-deprecated.git",
"reference": "7413f0b55a051e89485c5cb9f765fe24bb02a7b6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/7413f0b55a051e89485c5cb9f765fe24bb02a7b6",
"reference": "7413f0b55a051e89485c5cb9f765fe24bb02a7b6",
"shasum": ""
},
"require": {
"composer-plugin-api": "^1.1.0 || ^2.0",
"php": "^7 || ^8"
},
"replace": {
"ocramius/package-versions": "1.11.99"
},
"require-dev": {
"composer/composer": "^1.9.3 || ^2.0@dev",
"ext-zip": "^1.13",
"phpunit/phpunit": "^6.5 || ^7"
},
"type": "composer-plugin",
"extra": {
"class": "PackageVersions\\Installer",
"branch-alias": {
"dev-master": "1.x-dev"
}
},
"autoload": {
"psr-4": {
"PackageVersions\\": "src/PackageVersions"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Marco Pivetta",
"email": "ocramius@gmail.com"
},
{
"name": "Jordi Boggiano",
"email": "j.boggiano@seld.be"
}
],
"description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)",
"support": {
"issues": "https://github.com/composer/package-versions-deprecated/issues",
"source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.1"
},
"funding": [
{
"url": "https://packagist.com",
"type": "custom"
},
{
"url": "https://github.com/composer",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/composer/composer",
"type": "tidelift"
}
],
"time": "2020-11-11T10:22:58+00:00"
},
{
"name": "jean85/pretty-package-versions",
"version": "1.5.1",
"version": "2.0.5",
"source": {
"type": "git",
"url": "https://github.com/Jean85/pretty-package-versions.git",
"reference": "a917488320c20057da87f67d0d40543dd9427f7a"
"reference": "ae547e455a3d8babd07b96966b17d7fd21d9c6af"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/a917488320c20057da87f67d0d40543dd9427f7a",
"reference": "a917488320c20057da87f67d0d40543dd9427f7a",
"url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/ae547e455a3d8babd07b96966b17d7fd21d9c6af",
"reference": "ae547e455a3d8babd07b96966b17d7fd21d9c6af",
"shasum": ""
},
"require": {
"composer/package-versions-deprecated": "^1.8.0",
"php": "^7.0|^8.0"
"composer-runtime-api": "^2.0.0",
"php": "^7.1|^8.0"
},
"require-dev": {
"phpunit/phpunit": "^6.0|^8.5|^9.2"
"friendsofphp/php-cs-fixer": "^2.17",
"jean85/composer-provided-replaced-stub-package": "^1.0",
"phpstan/phpstan": "^0.12.66",
"phpunit/phpunit": "^7.5|^8.5|^9.4",
"vimeo/psalm": "^4.3"
},
"type": "library",
"extra": {
......@@ -121,7 +52,7 @@
"email": "alessandro.lai85@gmail.com"
}
],
"description": "A wrapper for ocramius/package-versions to get pretty versions strings",
"description": "A library to get pretty versions strings of installed dependencies",
"keywords": [
"composer",
"package",
......@@ -130,49 +61,50 @@
],
"support": {
"issues": "https://github.com/Jean85/pretty-package-versions/issues",
"source": "https://github.com/Jean85/pretty-package-versions/tree/1.5.1"
"source": "https://github.com/Jean85/pretty-package-versions/tree/2.0.5"
},
"time": "2020-09-14T08:43:34+00:00"
"time": "2021-10-08T21:21:46+00:00"
},
{
"name": "mongodb/mongodb",
"version": "1.8.0",
"version": "1.12.0",
"source": {
"type": "git",
"url": "https://github.com/mongodb/mongo-php-library.git",
"reference": "953dbc19443aa9314c44b7217a16873347e6840d"
"reference": "e4a7594ac4b31635fa77455c4038a7013024ba28"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/mongodb/mongo-php-library/zipball/953dbc19443aa9314c44b7217a16873347e6840d",
"reference": "953dbc19443aa9314c44b7217a16873347e6840d",
"url": "https://api.github.com/repos/mongodb/mongo-php-library/zipball/e4a7594ac4b31635fa77455c4038a7013024ba28",
"reference": "e4a7594ac4b31635fa77455c4038a7013024ba28",
"shasum": ""
},
"require": {
"ext-hash": "*",
"ext-json": "*",
"ext-mongodb": "^1.8.1",
"jean85/pretty-package-versions": "^1.2",
"php": "^7.0 || ^8.0",
"ext-mongodb": "^1.13.0",
"jean85/pretty-package-versions": "^1.2 || ^2.0.1",
"php": "^7.2 || ^8.0",
"symfony/polyfill-php80": "^1.19"
},
"require-dev": {
"squizlabs/php_codesniffer": "^3.5, <3.5.5",
"symfony/phpunit-bridge": "5.x-dev"
"doctrine/coding-standard": "^9.0",
"squizlabs/php_codesniffer": "^3.6",
"symfony/phpunit-bridge": "^5.2"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.8.x-dev"
"dev-master": "1.12.x-dev"
}
},
"autoload": {
"psr-4": {
"MongoDB\\": "src/"
},
"files": [
"src/functions.php"
]
],
"psr-4": {
"MongoDB\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
......@@ -198,9 +130,9 @@
],
"support": {
"issues": "https://github.com/mongodb/mongo-php-library/issues",
"source": "https://github.com/mongodb/mongo-php-library/tree/1.8.0"
"source": "https://github.com/mongodb/mongo-php-library/tree/1.12.0"
},
"time": "2020-11-25T12:26:02+00:00"
"time": "2022-03-23T20:18:39+00:00"
},
{
"name": "swiftmailer/swiftmailer",
......@@ -258,20 +190,21 @@
"issues": "https://github.com/swiftmailer/swiftmailer/issues",
"source": "https://github.com/swiftmailer/swiftmailer/tree/v5.4.12"
},
"abandoned": "symfony/mailer",
"time": "2018-07-31T09:26:32+00:00"
},
{
"name": "symfony/polyfill-php80",
"version": "v1.20.0",
"version": "v1.26.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
"reference": "e70aa8b064c5b72d3df2abd5ab1e90464ad009de"
"reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/e70aa8b064c5b72d3df2abd5ab1e90464ad009de",
"reference": "e70aa8b064c5b72d3df2abd5ab1e90464ad009de",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/cfa0ae98841b9e461207c13ab093d76b0fa7bace",
"reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace",
"shasum": ""
},
"require": {
......@@ -280,7 +213,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.20-dev"
"dev-main": "1.26-dev"
},
"thanks": {
"name": "symfony/polyfill",
......@@ -288,12 +221,12 @@
}
},
"autoload": {
"psr-4": {
"Symfony\\Polyfill\\Php80\\": ""
},
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Php80\\": ""
},
"classmap": [
"Resources/stubs"
]
......@@ -325,7 +258,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php80/tree/v1.20.0"
"source": "https://github.com/symfony/polyfill-php80/tree/v1.26.0"
},
"funding": [
{
......@@ -341,7 +274,7 @@
"type": "tidelift"
}
],
"time": "2020-10-23T14:02:19+00:00"
"time": "2022-05-10T07:21:04+00:00"
}
],
"packages-dev": [],
......@@ -352,5 +285,5 @@
"prefer-lowest": false,
"platform": [],
"platform-dev": [],
"plugin-api-version": "2.0.0"
"plugin-api-version": "2.3.0"
}
......@@ -7,4 +7,5 @@
* @author: canals
*/
$sample ='hungry heart';
\ No newline at end of file
$sample ='hungry heart';
return $sample;
\ No newline at end of file
......@@ -7,7 +7,7 @@
* @author: canals
*/
require_once __DIR__ . '/../src/sample.php';
$sample = require_once __DIR__ . '/../src/sample.php';
echo <<<EOT
<!-- DOCTYPE html-->
......
......@@ -9,7 +9,7 @@
require __DIR__ . '/../src/vendor/autoload.php';
$mailer = new Swift_Mailer( new Swift_SmtpTransport('mail', 1025) );
$mailer = new Swift_Mailer( new Swift_SmtpTransport('mail', 1025, '') );
$message = (new Swift_Message('test subject'))
->setFrom( ['john.doe@mix.com'=>'john doe'])
......
......@@ -21,14 +21,12 @@ services:
working_dir : /var/www/src
networks:
- local_network
links :
- mysql:db
# - mongo:mongo
# - mail:mail
# - postgres:pg
depends_on:
- mysql
- postgres
php:
image: canals/php:8.0-cli
image: canals/php:8.1-cli
expose:
- "8000"
ports:
......@@ -49,7 +47,6 @@ services:
# mysql/mariadb + adminer / can be replaced by mariadb
#############################
mysql:
# image: mysql:5.6
image: mariadb:latest
container_name: mysql.dev.local
command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8_general_ci
......@@ -59,7 +56,9 @@ services:
- MYSQL_PASSWORD=secure
- MYSQL_DATABASE=mydatab
networks:
- local_network
local_network:
aliases:
- db
ports:
- "3603:3306"
volumes :
......@@ -71,9 +70,8 @@ services:
- "8080:8080"
networks:
- local_network
links:
- mysql:db
depends_on:
- mysql
......@@ -81,25 +79,29 @@ services:
##################################
# postgres + adminer
###################################
# postgres:
# image: postgres
# environment :
# - POSTGRES_PASSWORD = pgroot
# - POSTGRES_USER = pguser
# networks:
# - local_network
# ports:
# - "5432:5432"
postgres:
image: postgres
environment :
- POSTGRES_PASSWORD = pgroot
- POSTGRES_USER = pguser
networks:
local_network:
aliases:
- pg
ports:
- "5432:5432"
adminer-pg:
image: adminer
networks:
- local_network
ports:
- "8088:8080"
depends_on:
- postgres
# adminer-pg:
# image: adminer
# networks:
# - local_network
# ports:
# - "8088:8080"
# links:
# - postgres:db
#
################################################
# mongodb & mongo-express
......
#
# environment variables exported to the container
# classical use cas : http proxys when docker runs behind
# classical use case : http proxys when docker runs behind
# a corporate proxy
#
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment