docker-compose -f .\docker-compose.dev.yml run --rm composer create-project laravel/laravel=8.6.11 .
- nginx
- mysql
- phpmyadmin
- php
- composer
- npm
- artisan
Порты используемые в проекте:
Сервис | Порт |
---|---|
nginx | 80 (внешний) |
nginx | 443 (внешний) |
phpmyadmin | 8081 (внешний) |
mysql | 3306 (внутренний) |
php | 9000 (внутренний) |
xdebug (только в dev) | 9001 (внешний) |
redis | 6379 (внутренний) |
Для начала убедитесь, что у вас есть Docker installed в вашей системе и Docker Compose, а затем клонировать этот репозиторий.
-
Клонировать этот проект:
git clone https://github.com/AyvazovAleksandr/docker-laravel-environment.git
-
Внутри каталога
docker-laravel-environment
создать файл.env
для создания докера с помощью следующей команды:cp .env.example .env
-
Вам нужно Создать или Скопировать ваш проект в папку www
-
Соберите проект с помощью следующих команд:
docker-compose -f docker-compose.dev.yml up -d --build
Конфигурация базы данных должно быть одинаково с обеих сторон .
# .env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db_name
DB_USERNAME=db_user
DB_PASSWORD=db_password
DB_ROOT_PASSWORD=secret
# source/.env
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=db_name
DB_USERNAME=db_user
DB_PASSWORD=db_password
Единственным изменением является DB_HOST
в source/.env
где вызывается контейнер mysql
:
# source/.env
DB_HOST=mysql
В примерах указывается dev среда.
В проекте есть три среды:
- PROD docker-compose.prod.yml
- BETA docker-compose.beta.yml
- DEV docker-compose.dev.yml
docker-compose -f docker-compose.dev.yml run --rm composer create-project laravel/laravel=8.6.11 .
docker-compose -f docker-compose.dev.yml run --rm composer install
docker-compose -f docker-compose.dev.yml run --rm npm install
docker-compose -f docker-compose.dev.yml down -v
docker-compose -f docker-compose.dev.yml run --rm composer update
docker-compose -f docker-compose.dev.yml run --rm npm run dev
docker-compose -f docker-compose.dev.yml run --rm artisan migrate
docker-compose -f docker-compose.dev.yml run --rm artisan clear:data
docker-compose -f docker-compose.dev.yml run --rm artisan cache:clear
docker-compose -f docker-compose.dev.yml run --rm artisan view:clear
docker-compose -f docker-compose.dev.yml run --rm artisan route:clear
docker-compose -f docker-compose.dev.yml run --rm artisan clear-compiled
docker-compose -f docker-compose.dev.yml run --rm artisan config:cache
docker-compose -f docker-compose.dev.yml run --rm artisan storage:link
docker-compose run --rm artisan key:generate
docker-compose -f docker-compose.dev.yml run --rm artisan migrate --seed
docker-compose -f docker-compose.dev.yml run --rm artisan passport:install