/
2016.07.26
Gentleman's Guide
PORTS: PORTAI ATVIRI PASAULIUI
EXPOSE: PORTAI, ATIDARYTI KITIEMS KONTEINERIAMS
VOLUMES: FOLDERIAI PRIEINAMI KONTEINERIUI
ENVIRONMENT: ENV KINTAMIEJI, DAŽNIAUSIAI CONFIGAMS
EXPOSE VS PORTS
PRIEINAMI TIK REIKALINGIAUSI
EXPOSE NAUDOJAMAS TIK DOCKERFILE'UOSE
JEI NENURODOMA, PARENKAMAS ATSITIKTINIS
SUDARYTA IŠ SLUOKSNIŲ
SKIRTINGI DRIVERIAI: DEVICEMAPPER, AUFS, BRTFS, ETC...
VOLUMES - MOUNTAI IŠ HOSTO
VARTOTOJAI NEMAPINAMI
https://github.com/DATA-DOG/dockerfiles
php:
image: datadoglt/php70
links: [mysql, redis]
volumes: [ ".:/var/www" ]
web:
image: datadoglt/nginx-sf
volumes: [".:/var/www"]
ports: ["80:80"]
links: ["php"]
environment: { VIRTUAL_HOST: symfony.dev,admin.symfony.dev }
redis:
image: redis
mysql:
image: mysql
hostname: mysql
ports: ["3306"]
environment:
MYSQL_DATABASE: symfony2
MYSQL_USER: symfony2
MYSQL_PASSWORD: symfony2
MYSQL_ROOT_PASSWORD: mysecretpwversion: "2"
services:
php:
image: datadoglt/php70
volumes: ["./:/var/www"]
links: ["mysql", "redis"]
environment: { XDEBUG: "yes" }
web:
image: datadoglt/nginx-sf
ports: ["80:80"]
volumes: ["./:/var/www"]
links: ["php"]
environment: { VIRTUAL_HOST: "symfony2.dev,admin.symfony.dev" }
redis:
image: redis
mysql:
image: mysql:5.6
ports: ["3306"]
environment:
MYSQL_ROOT_PASSWORD: mysecretpw
MYSQL_DATABASE: symfony2
MYSQL_USER: symfony2
MYSQL_PASSWORD: secretpw#!/bin/bash
echo "[info] copy default parameters.yml"
cp -n /var/www/app/config/parameters.yml.dist /var/www/app/config/parameters.yml
sed -i "s/database_host:.*$/database_host: mysql/" /var/www/app/config/parameters.yml
sed -i "s/database_user:.*$/database_user: $MYSQL_ENV_MYSQL_USER/" /var/www/app/config/parameters.yml
sed -i "s/database_password:.*$/database_password: $MYSQL_ENV_MYSQL_PASSWORD/" /var/www/app/config/parameters.yml
sed -i "s/database_port:.*$/database_port: 3306/" /var/www/app/config/parameters.yml
sed -i "s/redis_host:.*$/redis_host: redis/" /var/www/app/config/parameters.yml
echo "[info] Running composer"
composer install --optimize-autoloader --working-dir=/var/www
echo "[info] Changing permissions for storage/"
chmod -R 777 /var/www/app/cache /var/www/app/logs /var/www/app/session
echo "[info] Waiting for mysql"
sleep 10
echo "[info] Migrating database"
php /var/www/app/console cache:clear
php /var/www/app/console doctrine:schema:update --force
chown -R www:www /var/www#!/bin/bash
if [ -f /init.sh ]; then
sleep 5 && echo "[info] Running /init.sh script" && sh /init.sh &
fi
if [ "$1" == "fpm" ]; then
if [ "$XDEBUG" != "" ]; then
PHP_ARGS="$PHP_ARGS -d xdebug.remote_enable=on"
if [ "$XDEBUG_HOST" == "" ]; then
XDEBUG_HOST="172.17.0.1"
fi
fi
if [ "$XDEBUG_HOST" != "" ]; then
PHP_ARGS="$PHP_ARGS -d xdebug.remote_host=$XDEBUG_HOST"
fi
echo "[info] starting php-fpm: /usr/sbin/php-fpm --nodaemonize --force-stderr $PHP_ARGS"
exec /usr/sbin/php-fpm --nodaemonize --force-stderr $PHP_ARGS
else
echo "Run: $@"
exec "$@"
fi