
Dmitriy
29.01.2017
19:41:20
Зачем в этой схеме удаленный сервер на который синкается код?
Проблема поднять локальные копии контейнеров для проекта?
Те которые на деве крутятся?
Синхронизация разработки между разными компами - git?

Google

Виталий
29.01.2017
19:43:55
Я выше писал, что веду разработку с нескольких компов. Проект большй и он генерит файлы, который прокинуты на хост машину, например файлы БД, юзерконтент и прочее... и если хостом докер контейнеров будет моя локальная дев машина, тогда я не смогу получить к ним доступ на другой локальной дев машине.
синькать между дев машинами рантайм контент проекта геморнее, чем код проекта. Потому все кишки вынесены на отдельный сервер, а на локальных машинах только код.
Вторая причина - проект должен быть публично доступен по домему.

Dmitriy
29.01.2017
19:45:41
мы сейчас про дев говорим?

Виталий
29.01.2017
19:45:44
То есть дев сервер на локальнах машинах, еще и разных точно не подойдет.

Dmitriy
29.01.2017
19:46:07
дев окружение должно быть публично доступно по домену?

Виталий
29.01.2017
19:46:40
да

Dmitriy
29.01.2017
19:47:24
Да похоже можно и так как ты хочешь попытаться сделать.

Виталий
29.01.2017
19:47:46
ну оно уже сделано)) только с xdebug пока не решил.

Dmitriy
29.01.2017
19:49:14
Насколько я понимаю, у Хоста внутри сети докера должен быть свой айпишник

Виталий
29.01.2017
19:49:14
все усложнается тем, что дебаг клиенты за фаерволами и NAT сидят. То есть xdebug не сможет подключится к моему дев компу... либо я чет не так понял с настройкой xdebug (
да, так и есть

Dmitriy
29.01.2017
19:49:41
вот ты на него и должен на 9001 отрпавлять xdebug

Google

Dmitriy
29.01.2017
19:50:09
который потом по ссш завернется на дев машину
непонятно зачем в таком случае пробрасывать порт из контейнера

Виталий
29.01.2017
19:50:39
вот, смотри
xdebug.remote_port=9001
xdebug.remote_host=localhost
ты про это?

Dmitriy
29.01.2017
19:50:59
только remote_host должен быть не Localhost
а айпишник хоста в сети докера

Виталий
29.01.2017
19:51:20
хм....

Dmitriy
29.01.2017
19:51:30
я же кинул тебе линк [Xdebug]
xdebug.remote_enable=true
xdebug.remote_host=172.17.0.1
xdebug.remote_port=5902
here 172.17.0.1 is your host ip, you can find it with ifconfig in your host
then restart your webserver

Виталий
29.01.2017
19:51:38
вполне себе идея

Dmitriy
29.01.2017
19:52:08
расскажи потом, интересно

Виталий
29.01.2017
19:52:08
то есть сейчас у меня забиндено на локалхост контейнера, а надо дебаггер биндить на хост машинку...
точняк
для того у Laradoc есть dockerhost в /etc/hosts

Sergey
29.01.2017
19:55:16
Всем доброй ночи.
Есть какой-то способ примаунтить не директори а только один файл в докеркомпоуз? что-то типа сотлинка в никсах?

Виталий
29.01.2017
20:02:10
volumes:
- ./:/var/www/html
- ./php/config/xdebug.ini:/usr/local/etc/php/conf.d/xdebug.ini
папка и файл

Sergey
29.01.2017
20:06:34

Виталий
29.01.2017
20:07:24
покажи как ты маунтишь

Google

Sergey
29.01.2017
20:08:03
version: '2'
services:
web:
image: nginx:stable-alpine
ports:
- "8000:80"
volumes:
- ./www:/var/www
- ./src/nginx.conf:/etc/nginx/conf.d
links:
- php
php:
image: php:7.0-fpm
volumes:
- ./www:/var/www
- ./src/php.conf:/usr/local/etc/php-fpm.conf
Docker version 1.12.3, build 6b644ec
docker-compose version 1.9.0, build 2585387

Виталий
29.01.2017
20:16:32
Как-то так
пути к ./src/php.conf должны быть от корня docker-compose файла
то есть на одном кровне с docker-composr.yml должна быть папка src

Sergey
29.01.2017
20:17:30
так и есть

Виталий
29.01.2017
20:18:20
ну, тогда не подскажу в чем ошибка. Но вот я тебе выше скинул точную копию из моего проекта
В логах вот такое
Log opened at 2017-01-29 20:12:35
I: Connecting to configured address/port: dockerhost:9001.
W: Creating socket for 'dockerhost:9001', poll success, but error: Operation in progress (29).
E: Could not connect to client. ?
Log closed at 2017-01-29 20:12:35

Sergey
29.01.2017
20:20:18

Виталий
29.01.2017
20:20:31
хм... , наверное не верно забиндил хост. Сек
расскажи потом, интересно
То есть с докер контейнера xdebug настроен на dockerhost=172.17.0.1
Вот так я делаю с локальной машины тунель на дев сервер
ssh -R 172.17.0.1:9001:localhost:9001 user@host.com
По вот этому мануалу https://ru.wikibooks.org/wiki/SSH_%D1%82%D1%83%D0%BD%D0%BD%D0%B5%D0%BB%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5
Проверь, плиз. То есть по логике все вполне даже логично. Лучше, чем было раньше по крайней мере)

Dmitriy
29.01.2017
20:27:20
файрволы на дев машине?
в моем понимании должно работать

Виталий
29.01.2017
20:31:14

Dmitriy
29.01.2017
20:32:12
угу, только я давно дебаг в нем настраивал, сейчас не вспомню
xdebug.remote_log="/tmp/xdebug.log" посмотри что он в логи пишет

Максим
29.01.2017
20:35:54
Зачем тебе xdebug?

chesarhop
30.01.2017
04:23:47
@zavitaev, очевидно, чтобы дебажить :)

Google

Виталий
30.01.2017
10:36:17
+

Vladimir
30.01.2017
10:41:08
iptables тебе в помощь

Anatoly
30.01.2017
10:47:06
iptables тебе в помощь
а как призваны iptables помочь в данном контексте когда идет проброс через ссш на локальный порт?

Vladimir
30.01.2017
10:49:56
докер именно в iptables прописывает правила для порт форвардинга с порта хоста на порт контейнера. Аналогично там же можно сделать правило портмаппинга с локального порта контейнера на удалённый хост

Максим
30.01.2017
10:52:04

Anatoly
30.01.2017
11:02:39

Vladimir
30.01.2017
11:04:43
все верно да
если дев тачка за натом то да - пообрасывем с сервера на дев тачку порт ссшем
а в иптейблс прописываем что бы пакеты на порт в контейнере перенаправлялись на порт сервака самого

Admin
ERROR: S client not available

Anatoly
30.01.2017
11:06:13
мне видится тут немного другая проблема и она не про инфраструктуру а про то что человек использует инструменты не правильно, на мой взгляд. В случае если нужна удаленная разработка с нескольких мест параллельно - то это история про гит а не про контейнер. а если хочется чтобы быть уверенным что параллельно с этим не поломалось ничего в разработке то эта история про сш.св а не про разработку в контейнере опять же
но опять же проблема звучит как использование микроскопа в сфере забивания гвоздей и в связи с этим недовольство микроскопом

Vladimir
30.01.2017
11:09:06
ну если надо отладить какой то уже работающий в контейнере код, то придётся так извращаться

Anatoly
30.01.2017
11:09:44
для этого можно запускать контейнер у себя локально, наверное

Evgeny
30.01.2017
11:13:38
Ммм.... Отладка на проде..... На живую....

Vladimir
30.01.2017
11:14:53
пахнет вкусненьким, правда?
А ещё один вариант, вместо iptables - созать доп. виртаульный адаптер между netns контейнера и хостом

Anatoly
30.01.2017
11:18:45
господи да зачем же оно так сложно то.

Vladimir
30.01.2017
11:18:49
))))

Google

Vladimir
30.01.2017
11:18:55
да чот расфантазировался, простите

Anatoly
30.01.2017
11:19:11
почему просто локально не пускать проблемную версию контейнера с хаба

Vladimir
30.01.2017
11:19:37
да потому что никто не знает в чём детали проблемы у чувака
мож у него хаба нет

Anatoly
30.01.2017
11:19:47
ну так то да

Виталий
30.01.2017
11:20:04

Vladimir
30.01.2017
11:20:38
докер не для запуска инфраструктуры

Виталий
30.01.2017
11:20:56

Vladimir
30.01.2017
11:20:58
докер для запусков контейнеров
которые совсем не обязательно должны быть частью инфраструктуры и вообще ничего не обязаны

Виталий
30.01.2017
11:21:33
будем придираться к словам?
Из контейнеров строится инфтраструктура под проект.

Vladimir
30.01.2017
11:21:57
но докер не для создания инфраструктуры

Anatoly
30.01.2017
11:21:57

Evgeny
30.01.2017
11:22:03
Проблема как оыбчно в том, что пыхеры привыкли жить в мире когда они все меняют на лету не думая про тесты и продакшн.

Vladimir
30.01.2017
11:22:10
из таких упрощений и создаются заблуждения

Anatoly
30.01.2017
11:22:14
вы вот вчера говорили что в что то храните в своих контейнерах

Виталий
30.01.2017
11:22:37
я ничего не храню в своих контейнерах

Anatoly
30.01.2017
11:22:43
и поэтому вам надо весли удаленную разработку
ну как же, файлы бд

Виталий
30.01.2017
11:23:04
они смаппены на хост

Anatoly
30.01.2017
11:23:05
вы же выше писали