People's Postcode Lottery - January 2018
Docker allows you to package an application with all of its dependencies into a standardized unit for software development.
FROM alpine:3.5
RUN apk add --no-cache bash
ENTRYPOINT bash
FROM alpine:3.5
RUN apk add --no-cache bash
COPY ./demo /var/www
WORKDIR /var/www
ENTRYPOINT bash
version: '2'
volumes:
cache:
driver: local
driver_opts:
type: tmpfs
device: tmpfs
o: uid=33
logs:
driver: local
driver_opts:
type: tmpfs
device: tmpfs
o: uid=33
networks:
salesflowmanagerapi_default:
external: true
services:
application:
build:
dockerfile: ./Dockerfile
context: .
entrypoint: /var/www/opt/docker/dev/entrypoint
environment:
- SYMFONY_ENVIRONMENT=test
- BLACKFIRE_SERVER_ID
- BLACKFIRE_SERVER_TOKEN
volumes:
- ./opt/beats/dev/filebeat.yml:/etc/filebeat/filebeat.yml:ro
- ./opt/elk/dev/logstash/logstash-beats.crt:/etc/pki/tls/certs/logstash-beats.crt:ro
- ./opt/php/dev/php.ini:/usr/local/etc/php/php.ini:ro
- ./opt/php/dev/conf.d/:/usr/local/etc/php/conf.d/:ro
- .:/var/www
- ../../src:/var/php-src:ro
- cache:/var/www/var/cache
- logs:/var/www/var/logs
depends_on:
- elk
- redis
dns_search:
- pluk.eeghlan.net
dns:
- 172.26.10.2
- 10.2.0.10
privileged: true
tmpfs:
- /tmp:rw,nodev,noexec,nosuid
env_file:
- .env
- ./src/App/Salesflow/Domain/SalesflowManager/.env
ports:
- 80
networks:
- salesflowmanagerapi_default
redis:
image: redis:alpine
elk:
image: sebp/elk
ports:
- "5044:5044" # Logstash Beats interface
- "5601:5601" # Kibana web interface
- 9200 # Elasticsearch JSON interface
volumes:
- ./opt/elk/dev/logstash/logstash.conf:/etc/logstash/logstash.conf
- ./opt/elk/dev/logstash/logstash-beats.crt:/etc/pki/tls/certs/logstash-beats.crt
- ./opt/elk/dev/logstash/logstash-beats.key:/etc/pki/tls/private/logstash-beats.key
- ./opt/elk/dev/logstash/patterns:/opt/logstash/patterns
- logs:/var/www/app/logs