делая первые шаги в изучение docker и docker-compose. Не совсем понятно, нужно ли писать dockerfile, если будешь описывать 3 образа или более в docker-compose? Если не нужно писать, какой название и путь нужно указаывать в docker-compose
к примеру Laravel(здесь более 3х образов)
nginx:
dockerfile: docker/nginx.docker путь указан, а появятся он там откуда, если у меня стоит, например, UBUNTU и установил я туда docker и docker-compose. Получает он был создан через dockerfile или он такое написание docker/nginx.docker автоматически закачивает с dockerhub образ и dockerfile мне нужно создавать.
version: '3'
services:
nginx:
build:
context: ./
dockerfile: docker/nginx.docker
volumes:
- ./:/var/www
ports:
- "8080:80"
depends_on:
- php-fpm
php-fpm:
build:
context: ./
dockerfile: docker/php-fpm.docker
volumes:
- ./:/var/www
depends_on:
- mysql
- redis
environment:
- "DB_PORT=3306"
- "DB_HOST=mysql"
- "REDIS_PORT=6379"
- "REDIS_HOST=redis"
php-cli:
build:
context: ./
dockerfile: docker/php-cli.docker
volumes:
- ./:/var/www
depends_on:
- mysql
- redis
environment:
- "DB_PORT=3306"
- "DB_HOST=mysql"
- "REDIS_PORT=6379"
- "REDIS_HOST=redis"
tty: true
mysql:
image: mysql:5.7
volumes:
- ./storage/docker/mysql:/var/lib/mysql
environment:
- "MYSQL_ROOT_PASSWORD=secret"
- "MYSQL_USER=app"
- "MYSQL_PASSWORD=secret"
- "MYSQL_DATABASE=app"
ports:
- "33061:3306"
redis:
image: redis:3.0
ports:
- "6379:6379"