Начинаешь разрабатывать проект #1, создаешь под него каталог с двумя вложенными подкаталогами src и db
Ты уже установить
docker-compose? Если нет, то сделать этого. Мой docker-compose.yml:
version: '3.1'
services:
db:
image: mariadb:10.2
restart: on-failure
ports:
- "3306:3306"
volumes:
- ./db:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: your_root_pass_here
MYSQL_DATABASE: db_name_here
MYSQL_USER: db_user_here
MYSQL_PASSWORD: user_pass_here
nginx:
image: nginx
restart: on-failure
ports:
- "80:80"
links:
- wordpress:php-fpm-server
depends_on:
- wordpress
volumes:
- $HOME/DDK/nginx-default.conf:/etc/nginx/conf.d/default.conf:ro
- ./development/src:/var/www/html:ro
wordpress:
image: php:5.6-fpm
restart: on-failure
links:
- db:mysql
depends_on:
- db
expose:
- "9000"
- "9900"
volumes:
- /mnt/bindfs/fire-cacher-dv1:/var/www/html
Далее у тебя встанет проблема, файлы на твоей хостовой машине будут создаваться от пользователя www-data. Единственный вменяемый способ пофиксить это без сильных танцев с бубном - bindfs. Я использую следующую строку в fstab для монтирования:
/home/user/Project/fire-cache/development/src /mnt/bindfs/fire-cacher-dv1 fuse.bindfs force-user=www-data,force-group=www-data,create-for-user=user,create-for-group=user,perms=0000:u+rwD:g+rD:o+rD 0 0
Все создал? ОК, запускай
docker-compose up -d
и останавливай после окончания работы
docker-compose stop
. Проект закончен? Значит
docker-compose down -v
Вот это ты повторяешь каждый раз при старте нового проекта. Если есть еще какие-то вопросы по существу - пиши в комменты.