docker-compose.yml
version: '3'
volumes:
db:
services:
dev:
container_name: ewallet_dev
build:
context: ./containers/dev
image: ewallet/dev
ports:
- "8000:8000"
links:
- db
- queue
volumes:
- ./:/usr/src/myapp
- ~/.composer:/root/.composer
environment:
APP_ENV: ${APP_ENV}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_HOST: ${MYSQL_HOST}
PDO_DRIVER: ${PDO_DRIVER}
RABBIT_MQ_USER: ${RABBIT_MQ_USER}
RABBIT_MQ_PASSWORD: ${RABBIT_MQ_PASSWORD}
RABBIT_MQ_HOST: ${RABBIT_MQ_HOST}
DB_URL: ${DB_URL}
web:
container_name: ewallet_web
build:
context: ./containers/web
image: ewallet/web
ports:
- "80:80"
links:
- db
volumes:
- ./:/usr/src/myapp
environment:
APP_ENV: ${APP_ENV}
DB_URL: ${DB_URL}
PDO_DRIVER: ${PDO_DRIVER}
console:
container_name: ewallet_console
build:
context: ./containers/console
image: ewallet/console
links:
- db
volumes:
- ./:/usr/src/myapp
environment:
APP_ENV: ${APP_ENV}
DB_URL: ${DB_URL}
messaging:
container_name: ewallet_messaging
build:
context: ./containers/messaging
image: ewallet/messaging
links:
- db
- queue
- mail
volumes:
- ./:/usr/src/myapp
environment:
APP_ENV: ${APP_ENV}
RABBIT_MQ_USER: ${RABBIT_MQ_USER}
RABBIT_MQ_PASSWORD: ${RABBIT_MQ_PASSWORD}
RABBIT_MQ_HOST: ${RABBIT_MQ_HOST}
DB_URL: ${DB_URL}
queue:
container_name: ewallet_queue
image: rabbitmq:3.5
ports:
- "5674:5672"
environment:
RABBITMQ_DEFAULT_USER: ${RABBIT_MQ_USER}
RABBITMQ_DEFAULT_PASS: ${RABBIT_MQ_PASSWORD}
mail:
container_name: ewallet_mail
build:
context: ./containers/mail
image: ewallet/mail
ports:
- "8080:8080"
db:
container_name: ewallet_db
image: mysql:5.7
volumes:
- db:/var/lib/mysql
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}