Skip to content

01.local

Andrey F. Mindubaev edited this page Apr 13, 2018 · 1 revision

Установка окружения разработчика

  1. Скачать и установить Docker Toolbox и VirtualBox

  2. Создать Docker Machine

    docker-machine create --driver virtualbox default
    docker-machine start default
    
  3. Настроить Docker Machine

    Содержимое результата выполнения команды docker-machine env default записать в переменные среды.

    Например, в Windows 8 нужно перейти в Компьютер - Свойства - Дополнительные параметры системы - Дополнительно - Переменные среды...

    C:\>docker-machine env default
    You can further specify your shell with either 'cmd' or 'powershell' with the --shell flag.
    
    SET DOCKER_TLS_VERIFY=1
    SET DOCKER_HOST=tcp://192.168.99.100:2376
    SET DOCKER_CERT_PATH=C:\Users\Пользователь\.docker\machine\machines\default
    SET DOCKER_MACHINE_NAME=default
    SET COMPOSE_CONVERT_WINDOWS_PATHS=true
    REM Run this command to configure your shell:
    REM     @FOR /f "tokens=*" %i IN ('"C:\Program Files\Docker Toolbox\docker-machine.EXE" env default') DO @%i
    

    Здесь нужно создать 5 переменных от DOCKER_TLS_VERIFY до COMPOSE_CONVERT_WINDOWS_PATHS

    Для macOS нужно дополнительно настроить машину, чтобы она корректно работала с NFS разделами. Дело в том, что при использовании docker-machine на macOS появляется проблема с доступами к файлам: владелец и права на файлы не меняются на примонтированных nfs томах.

    Один из способов решения - использовать docker-machine-nfs:

    brew install docker-machine-nfs
    docker-machine-nfs default
    
  4. Добавить запись в файл C:\WINDOWS\System32\Drivers\etc\hosts

    192.168.99.100		docker.local
    192.168.99.100		mysql
    

    где 192.168.99.100 - это IP адрес из переменной DOCKER_HOST

  5. Запуск проекта в Docker

    Внутри папки пользователя (обязательно), например в C:\Users\Пользователь\Docker создать новый проект:

    C:\Users\Пользователь\Docker> composer create-project covex-nn/docker-symfony .

    Запустить docker-compose, встроенный в PHP web-server и инициализировать проект

    docker-compose up -d
    phing
    php -S localhost:80 -t public
    

    Сайт проекта будет доступен по адресу http://localhost/

    Также, вместе с Docker, можно использовать Nginx и PHP, аналогичные тому, что используется в production. Для этого нужно скопировать docker-compose.override.yml.dist в docker-compose.override.yml и выполнить команды:

    docker-compose up -d
    docker-compose exec php phing    
    
  6. Установка Webpack Encore

    composer require webpack-encore
    

    Установите Nodejs, а затем пакетный менеджер yarn

    npm install --global npm
    npm install --global yarn
    

    Установите зависимости проекта

    yarn install --pure-lockfile
    

    Подробнее об использовании Webpack Encore на сайте symfony.com

Clone this wiki locally