Сергей Протько: принцип ACTION -> DISPATCHER -> STORE -> VIEW легко переносится на ангулярский лад, как мне это видится. FLUX тут исключительно ради того, чтобы иметь представление о том, как лучше связать компоненты между собой.
asyaevloeva: вы можете перенести со временем все существующие проекты, конфиги не приходится сильно менять для того чтобы в докере заработало.
По поводу нескольких проектов: у вас есть много разных докер контейнеров. Для каждого проекта есть свой набор контейнеров. Пусть у нас есть проекты А и Б с контейнерами а1,а2,а3 и b1,b2,b3 соответственно. Если вам понадобилось что-то в проекте А - вы запускаете контейнеры которые к нему относятся и делаете что вам нужно. Если после этого потребовалось перейти в другой проект - запускаете контейнеры b1,b2,b3. При этом первые три контейнера относящиеся к проекту А можно пока отключить.
asyaevloeva: на самом деле так только кажется. Там даже GUI есть для windows. Посмотрите видео по ссылке выше, повторите и разберетесь. Займет максимум день.
Зачем нужен докер:
1. На новой машине чтобы поднять всё окружение проекта достаточно поставить докер и запустить сборку. Не нужно устанавливать больше ничего.
2. Не нужно разбираться почему очередной сервис отказывается ставиться под конкретной операционной системой.
3. Работа с любым количеством проектов не делает каши из вашей рабочей операционной системы.
4. Лишает вас "удовольствия" от установки сервисов. Для большинства популярных сервисов уже есть официальные контейнеры, вы можете использовать их или сделать свой на основе имеющегося.
По сути докер позволяет для каждого сервиса(nginx, php, ...) создать маленькую виртуальную машину. И связать эти машины между собой. Вам остается лишь написать для каждого сервиса необходимые вам конфиги ( например конфиги ваших хостов в случае с appache) и указать, как контейнеры должны между собой взаимодействовать.
Кирилл Арутюнов: да, конечно есть. Скоро ожидается нативная поддержка(сейчас в бете). На данный момент работает через промежуточный слой с легковесной ubuntu(реально очень легкая, не сравнить с тем же вагрантом). Ставится всё легко и в одном дистрибутиве ( вместе с virtualbox и настройкой этой промежуточной виртуалки) Вот ссылочка на установку ( https://docs.docker.com/windows/step_one/ ). Описано подробно и проблем особых не возникало. А далее всё просто - разбиваем все необходимые сервисы ( можно тот же apache + mysql + php) по контейнерам, почти для всех популярных сервисов уже есть контейнеры с дефолтными настройками.
Докер - не виртуальная машина. Это сервис контейнеризации. Он позволяет создать контейнерное окружение, которое можно развернуть теоретически где угодно. Для веб разработки у вас получается тот же самый вебсервер, но внутри контейнера. У него есть свой ip и вы можете обращаться к нему как вы обращались бы к localhost в случае установки на вашей операционной системе. Но при этом у вас во-первых не запускается куча непонятных сервисов при старте винды, не происходит замусоривания (разные версии апача/nginx, всякие mySQL/postgres и тд).
Вы можете иметь сколько угодно конфигураций контейнеров для каждого проекта отдельно и запускать нужный проект просто поднимая нужную конфигурацию ( 1 команда).
P.S. Вообще начать пользоваться докером несложно. Нужно просто прочитать/просмотреть вот эти видео: https://training.docker.com/self-paced-training . Ну и желательно проделать всё то же самое, что делается на видео. После этого всё обычно встаёт на свои места.
asyaevloeva: вообще я бы предложил вам в случае с windows попробовать виртуализацию. Например Docker(https://www.docker.com/ ). Как обладатель windows на домашнем компьютере - избавился от кучи головной боли перенеся всё окружение внутрь Docker'а.
asyaevloeva: вы не совсем правы. В приведенном вами абзаце описывается инициализация composer для нового проекта. Почему это в доке называется "установкой" - не очень понятно.
ну самый тупой вариант - добавить элементу какой-то признак того что он клон и клонировать его не надо : ) Как в старом фильме с Арнольдом Шварцнегером. Честно говоря как поступить лучше в данном случае не очень понятно.
Владимир: если бы вы точнее описали, чего пытаетесь сделать было бы проще. Если ctrl.action не трогает дом, а лишь что-то делает при событии - всё ок и можно её биндить через условную "ng-on-touch-event=ctrl.action()" директиву. Если в действии подразумеваются операции в DOM - они тоже должны быть выполнены внутри директивы. Тогда наша "ng-on-touch-event" нам не годится и нужно сделать директиву для этого конкретного случая.
Владимир: вы можете написать общую директиву, которая будет лишь биндить на touch событие то что ей передадут через параметр. Для каждого компонента такая директива не нужна. выглядеть будет примерно так же как и стандартные ангулярские вещи: ng-click="ctrl.action()".
Владимир: в первом же абзаце есть подпункт : "When not to use Components". Там есть пункт про манипуляции с DOM. В данном случае вам стоит написать директиву, и внутри link функции выполнять все необходимые операции. Кстати вот: https://docs.angularjs.org/guide/directive где-то в середине есть пример draggable директивы.
spotifi: основная проблема была с тем, чтобы забиндить volume на папку из хост(windows) машины. А так-то да, с виртуалбоксом и самой установкой проблем нет.