
Nick
16.09.2017
16:50:29
попроще будет

Сергей
16.09.2017
16:50:45
Я тут могу поспорить
Номад куда проще будет всех
Или сварм мод докеровский

Google

Andrew
16.09.2017
16:51:17
у меня сейчас docker-compose (api, redis, pg) - для разработки.
docker (api) - для прода. RDS, ElastiCache. сюда хочу еще сервис для пушей и воркеры

Nick
16.09.2017
16:51:27
Лол

Сергей
16.09.2017
16:51:44
Можете начать с докер сварм мод
Он вам самое оно
И сетапится проще некуда

Nick
16.09.2017
16:52:18
Воркеры?)

Сергей
16.09.2017
16:52:43
У человека каша в голове ему надо помочь разобраться

Andrew
16.09.2017
16:52:59
таски которые буду работать самостоятельно.

Nick
16.09.2017
16:53:14
А типа остальные не самостоятельно работают?)

Сергей
16.09.2017
16:53:32
Андрей, смотрите - докер композ - это своего рода оркестратор для докера
В нем описываются сервисы
А сервисы это набор контейнеров

Google

Сергей
16.09.2017
16:54:17
Просто декларативный ямл файл
Который говорит что докеру апнуть и в каком количестве
Это что бы не делать кучу раз docker run

Andrew
16.09.2017
16:55:46
это понимаю

Сергей
16.09.2017
16:55:50
Но ещё у докера есть нативный кластер, с мастер нодами и воркерами
Он сейчас называется swarm mode
Это когда куча докер демонов объединяются в один большой пул
Вот вам сварм мод подойдёт в ближнем приближении

Andrew
16.09.2017
16:57:01
хм. Звучит интересно

Сергей
16.09.2017
16:57:03
Ибо он простой до безобразия
И рулится по-моему уже тоже композом

Dmitriy
16.09.2017
17:03:01
а для сварма че-нить с вольюмами придумали уже?

Сергей
16.09.2017
17:03:30
С этим все плохо

Roman
16.09.2017
17:03:38
Приветствую
Только хочу юзать докер, а то заелся каждый раз ставить LAMP на домашнюю машыну что б кодить на php
И вот нашел докер:
https://github.com/richarvey/nginx-php-fpm
сделал pull , потом run
все запустилось, но не пойму где внутренности? где хранится сам докер? где я могу менять параметры и тд?

Сергей
16.09.2017
17:03:41
До совсем плохо

Dmitriy
16.09.2017
17:04:32

Roman
16.09.2017
17:06:44

Sun
17.09.2017
07:46:12

Александр
17.09.2017
10:20:58
Всем привет)

Alex
17.09.2017
10:42:09
ребят, почему у меня может не найти бинарь который есть в PATH, но при этом его находит если запускать через docker exec или если в docker-compose указать command?

Google

Alex
17.09.2017
10:42:49
т.е прописал в Dockerfile
CMD 'bundle exec rails s'
Но он пишет что не может найти (всю эту строчку)
но при этом в docker-compose run все замечательно, а если прописать command в docker-compose.yml то docker-compose up тоже замечательно работает

Александр
17.09.2017
11:03:29
Стоит ли засовывать все файлы проекта и его зависимости в контейнер?
Вариант 1: При это чаще всего на проекте много разных контейнеров. В этом случаем придётся их пихать во все контейнеры. Более того, файл, созданный в одном из контейнеров, будет недоступен в другом.
Вариант 2: прокидывать через volume. Но при этом, при деплое приложения будет простой, т.к. все зависимости могут долго скачиваться/обновляться
Есть другие варианты или мнения?

Sun
17.09.2017
11:05:01

Alex
17.09.2017
11:05:04
а почему у тебя несколко контейнеров на одной кодовой базе?
одна и таже бизнеслогика?

Александр
17.09.2017
11:05:38

Alex
17.09.2017
11:05:49
а, ну это нормальная практика

Александр
17.09.2017
11:06:00

Alex
17.09.2017
11:06:55
это нормальная практика

Александр
17.09.2017
11:07:11

Alex
17.09.2017
11:07:22
когда у тебя несколько контейнеров из одной кодовой базы
как раз твой случай

Александр
17.09.2017
11:07:46
И по этой практике файлы кладутся в контейнер или прокидываются?)

Sun
17.09.2017
11:07:51
Можешь пример скинуть?
Мм, прямо сейчас не смогу.
Суть в том что ты собираешь базовый контейнер, а во всех остальных ставишь From на него

Александр
17.09.2017
11:08:09
volumes_from или в докерфайле FROM?

Alex
17.09.2017
11:08:55
скорее второе.

Александр
17.09.2017
11:09:38
Как тогда деплоить без простоя? симлинки, по старинке?

Alex
17.09.2017
11:10:02
а причем тут симлинки?

Google

Alex
17.09.2017
11:10:07
как обычно ты деплоишь через докер?

Александр
17.09.2017
11:10:32
ну, скачать зависимости в левую директорию, потом поменять симлинки на папку, которая прокинута
docker pull/docker-compose up -d

Alex
17.09.2017
11:10:56
зачем тебе зависимости на продакшене выносить в volume?
собирай базовый контейнер с кодовой базой, дальше FROM в подобразах

Admin
ERROR: S client not available

Alex
17.09.2017
11:11:20
я правда такую схему не городил, но выше пишут что все ок.

Александр
17.09.2017
11:11:52
Но тогда если приложение создаст файл, например, xls, то в nginx он не появится

Alex
17.09.2017
11:12:15
по пути где приложение создает файл - делается volume
например у меня в рельсах это public/uploads. И он volume

Александр
17.09.2017
11:12:43
а, ну да
Короче, пихать всё, что нужно для приложения, в контейнер - это норм практика, если я правильно понял?

Alex
17.09.2017
11:14:09
все что immutable от старта до финиша
пути куда ложится стейт (upload'ы например) - в volume

Александр
17.09.2017
11:14:27
спасибо)

Alex
17.09.2017
11:14:41
да незачто ...

Александр
17.09.2017
11:14:53
Еще вопрос - есть смысл в бесправном юзере в контейнере?

Alex
17.09.2017
11:14:59
делать наоборот как то странно. Деплоить приложение через volume это тоже антипаттерн
я не профессионал, но читал что у докера были какие то секьюрити проблемы. Если юзер не рут то шанс на экслойпт понижается в разы имхо

Google

Alex
17.09.2017
11:15:33
тем более на публичное приложение.

Александр
17.09.2017
11:16:29
Вот с ним у меня возникли проблемы с правами. Либо от рута файлы создаются на хостовой тачке, либо у него нет прав записать в домашнюю директорию

Andrew
17.09.2017
11:16:55
а как лучше сделать несколько поддоменов из одной кодовой базы? Типа https://api.domain.com https://vk.domain.com

Alex
17.09.2017
11:17:24

Александр
17.09.2017
11:17:31

Alex
17.09.2017
11:17:36
ну и если процесс запущен не от рута, то и файлы создаются не от рута

Александр
17.09.2017
11:17:38

Alex
17.09.2017
11:17:58
сделай в конце chown на все, как костыльчик

Александр
17.09.2017
11:18:28
Ну костыльчик я уже сделал, теперь бы разобраться, как правильно)

Andrew
17.09.2017
11:18:41

Alex
17.09.2017
11:19:00

Andrew
17.09.2017
11:19:56

Alex
17.09.2017
11:20:07
С ним достаточно один раз разобраться. Типовые конфигурации там не сложные.

Andrew
17.09.2017
11:20:48