Vladimir
Vladimir
Ставь none и конструячь себе сеть как вздумается
Vladimir
вот тут всё очень подробно https://docs.docker.com/engine/userguide/networking/#/a-bridge-network
Sander
Если она будет в none, оно же в none попадёт. Я уже создал свой network, но когда я добавлю в свой, он почему-то попадает в мой и ещё одновременно в bridge. Что очень странно.
Evgeny
бридж для инета
Vladimir
никто не пользовался https://hub.docker.com/r/tklx/base/ ?
yopp
В смысле к не идея, а реализация. Но зачем, если есть -slim? Плюс не понятно насколько плохо жить без локалей
nvkv
Ну вон в альпайне без локалей неплохо совсем
Vitalii
Коллеги, приветствую! Кто-то настраивал xdebug в докер контейнере который запущен на две сервере? Отзовитесь :)
Василий
https://medium.com/@pablofmorales/xdebug-with-docker-and-phpstorm-786da0d0fad2#.fpo52wfac
Василий
не оно?
Vitalii
https://medium.com/@pablofmorales/xdebug-with-docker-and-phpstorm-786da0d0fad2#.fpo52wfac
таких ссылок в нете куча)) Но у меня тут сложная схема и аналогов описанных я не находил. Имею дев сервер, на котором крутится докер контейнер, в котором есть xdebug на 9001 порту. В docker-compose.yml проброшен 9001 порт на хост. А вот дальше у меня были проблемы коннекта к этому всему со своего рабочего компа. Я нарыл в нете что можно сбиндить свой локальный 9001 порт на localhost:9001 моего дев сервера ssh -R 9001:localhost:9001 user@remotehost.com
Vitalii
в IDE тоже вроде все настроено, но не заводиться :( уже не знаю куда копать
Vitalii
в логах xdebug вот такое Log opened at 2017-01-29 11:22:36 I: Connecting to configured address/port: localhost:9001. W: Creating socket for 'localhost:9001', poll success, but error: Operation in progress (29). W: Creating socket for 'localhost:9001', poll success, but error: Operation in progress (29). E: Could not connect to client. 😒 Log closed at 2017-01-29 11:22:36
Vitalii
но что оно означает я пытаюсь нагуглить... думал может тут кто-то сможет позскадать
Vitalii
Коллеги, помогите настроить xdebug + docker + remote host. Проблему описал здесь https://toster.ru/q/392317 Все мысли, пожалуйста, под топик на тостере.
Vladimir
"E: Could not connect to client." - это что-то навевает мысли о том что сервер пытается поднять второй линк - к IDE и у него не выходит. JMX примерно так работает во всяком случае.
Vitalii
Коллеги, прошу помощи. На докер-хост (удаленный сервер) создал тунель с моей локальной машины. Тунель я создаю вот так ssh -R 9001:localhost:9001 user@host.com То есть соединения перебрасываются с удаленной машины на локальную. Далее, внутри контейнера работает xdebug который должен иметь возможность подключить к 9001 порту на хост машине, чтобы далее подключится к моей локальной машине. Как я понял, я не могу через --port 9001:9001 открыть порт с контейнера на хост, так как потом я просто не смогу открыть тунель - будет писать что порт 9001 занят. Как быть?
Cin
вот это попробуй https://gist.github.com/chadrien/c90927ec2d160ffea9c4#gistcomment-1703836
Cin
А можно узнать, зачем тебе это?
Vitalii
вот это попробуй https://gist.github.com/chadrien/c90927ec2d160ffea9c4#gistcomment-1703836
ну нужно настроить отладку кода в контейнре, который работает на уделенном сервере.
Cin
ну нужно настроить отладку кода в контейнре, который работает на уделенном сервере.
зачем? Как-то это нелогично звучит, заниматся отладкой кода внутри докер контейнера на удаленной машине.
Vitalii
зачем? Как-то это нелогично звучит, заниматся отладкой кода внутри докер контейнера на удаленной машине.
Ну а как иначе? дебаггер там, где пхп интерпритатор, а он в контенере... а контейнер расположен на удаленном сервере.
Cin
запустить контейнер там где у тебя ide?
Vitalii
запустить контейнер там где у тебя ide?
Я веду разработку с разных компов, и мне удобно чтобы контейнер был запущен на отдельном независимом сервере.
Vitalii
Не вижу логических проблем реализовать мою задачу. Другое дело, что пока не ясно как именно ее реализовать.
Cin
т.е. ты ведешь разработку на удаленном сервере внутри контейнера?
Vitalii
Не понял что значит "внутри контейнера". Внутри контейнера запускается код. Я пишу код на локальной машине, от туда он синкается на удаленный сервер в папку. Далее на дев сервере запущен ряд контейнеров для проекта, один из которых с php-fpm смотрит на папку с кодом проекта и... дальше думаю понятно.
Cin
Зачем в этой схеме удаленный сервер на который синкается код?
Cin
Проблема поднять локальные копии контейнеров для проекта?
Cin
Те которые на деве крутятся?
Cin
Синхронизация разработки между разными компами - git?
Vitalii
Я выше писал, что веду разработку с нескольких компов. Проект большй и он генерит файлы, который прокинуты на хост машину, например файлы БД, юзерконтент и прочее... и если хостом докер контейнеров будет моя локальная дев машина, тогда я не смогу получить к ним доступ на другой локальной дев машине.
Vitalii
синькать между дев машинами рантайм контент проекта геморнее, чем код проекта. Потому все кишки вынесены на отдельный сервер, а на локальных машинах только код.
Vitalii
Вторая причина - проект должен быть публично доступен по домему.
Cin
мы сейчас про дев говорим?
Vitalii
То есть дев сервер на локальнах машинах, еще и разных точно не подойдет.
Cin
дев окружение должно быть публично доступно по домену?
Vitalii
да
Cin
Да похоже можно и так как ты хочешь попытаться сделать.
Vitalii
ну оно уже сделано)) только с xdebug пока не решил.
Cin
Насколько я понимаю, у Хоста внутри сети докера должен быть свой айпишник
Vitalii
все усложнается тем, что дебаг клиенты за фаерволами и NAT сидят. То есть xdebug не сможет подключится к моему дев компу... либо я чет не так понял с настройкой xdebug (
Vitalii
да, так и есть
Cin
вот ты на него и должен на 9001 отрпавлять xdebug
Cin
который потом по ссш завернется на дев машину
Cin
непонятно зачем в таком случае пробрасывать порт из контейнера
Vitalii
вот, смотри xdebug.remote_port=9001 xdebug.remote_host=localhost
Vitalii
ты про это?
Cin
только remote_host должен быть не Localhost
Cin
а айпишник хоста в сети докера
Vitalii
хм....
Cin
я же кинул тебе линк [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
Vitalii
вполне себе идея
Cin
расскажи потом, интересно
Vitalii
то есть сейчас у меня забиндено на локалхост контейнера, а надо дебаггер биндить на хост машинку...
Vitalii
точняк
Vitalii
для того у Laradoc есть dockerhost в /etc/hosts
Sergey
Всем доброй ночи.
Sergey
Есть какой-то способ примаунтить не директори а только один файл в докеркомпоуз? что-то типа сотлинка в никсах?
Vitalii
Всем доброй ночи.
а в чем проблема примаунтить один файл?
Vitalii
volumes: - ./:/var/www/html - ./php/config/xdebug.ini:/usr/local/etc/php/conf.d/xdebug.ini
Vitalii
папка и файл
Sergey
volumes: - ./:/var/www/html - ./php/config/xdebug.ini:/usr/local/etc/php/conf.d/xdebug.ini
mounting "/var/lib/docker/devicemapper/mnt/66c396f7671159955a4953ba61870ff5e65c9146b7a794ee261d4974c19115e9/rootfs/usr/local/etc/php-fpm.conf" to rootfs "/var/lib/docker/devicemapper/mnt/66c396f7671159955a4953ba61870ff5e65c9146b7a794ee261d4974c19115e9/rootfs" caused "not a directory"'
Vitalii
покажи как ты маунтишь
Sergey
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
Sergey
Docker version 1.12.3, build 6b644ec docker-compose version 1.9.0, build 2585387
Vitalii
Как-то так
пути к ./src/php.conf должны быть от корня docker-compose файла
Vitalii
то есть на одном кровне с docker-composr.yml должна быть папка src
Sergey
так и есть
Vitalii
ну, тогда не подскажу в чем ошибка. Но вот я тебе выше скинул точную копию из моего проекта
Vitalii
вот ты на него и должен на 9001 отрпавлять xdebug
так, забиндил я xdebug на хост машину 172.17.0.1, прокинул порт на удаленный дев сервер и не завелось. Но твоя подсказка очень правильная. Есть еще мысли?
Vitalii
В логах вот такое 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
Vitalii
хм... , наверное не верно забиндил хост. Сек
Vitalii
расскажи потом, интересно
То есть с докер контейнера 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 Проверь, плиз. То есть по логике все вполне даже логично. Лучше, чем было раньше по крайней мере)