@ru_docker

Страница 346 из 610
Dmitry
29.05.2017
10:11:58
ансапортед, один черт

через морду грохнуть нельзя - думал грохну курлом

Marlik
29.05.2017
14:02:56
Парни подскажите ЧЯДНТ? Собрал образ с alpine, всё норм, в образе простой скриптик демон на perl. Последние строки докерфайла: COPY . /var/www/script WORKDIR /var/www/script CMD ["perl", "script"] Соответственно не запускается с ключом -d , docker run -d --rm script /usr/bin/perl /var/www/script/script получаю что-то такое: 0af96986eb3cbc2156bdfde68dd98b3a069003fc801e884bdada6d280d1c1309 и фсё, не стартует скрипт. Работает только ручками, захожу и запускаю: docker run -ti --rm script /bin/sh Внутри образа скрипт стартует нормально и как положено висит в процессах. Где почитать, куда порыть?

here1am
29.05.2017
14:14:05
а что он на выхлоп выдавать по-твоему должен?

Google
here1am
29.05.2017
14:14:16
и да, скрипт форкается?

Marlik
29.05.2017
14:25:17
Не, не форкается. Ну выхлоп то ладно. Старта скрипта нету, он при старте в телегу мне мессагу шлёт.

Ручками запускается изнутри, а снаружи никак.

here1am
29.05.2017
15:21:52
что выхлоп-то ладно? если нет выхлопа, то ты ничего не увидишь. а если форкается, то контейнер помрё сразу

Marlik
29.05.2017
16:22:56
Ну а как же тада работает если в образ заходить и ручками пускать? Форк, да, посмотрел, есть. Иэээээх. Спасибо, ща попробую проверить просто скрипт без форка.

here1am
29.05.2017
17:03:52
Ну а как же тада работает если в образ заходить и ручками пускать? Форк, да, посмотрел, есть. Иэээээх. Спасибо, ща попробую проверить просто скрипт без форка.
ну в образ когда ты заходишь, у тебя первый в нём процесс - /bin/bash. помрёт первый процесс - помрёт контейнер, чтобы ты там ни поназапускал. аналогично, если у тебя первый процесс - скрипт. скрипт форкается, сам помирает, контейнер помирает вместе с ним

Marlik
29.05.2017
17:05:18
Ага, спасибо, щас проверю, как Мегафон перестанет тупить, образ хрен соберешь...

Marlik
30.05.2017
09:45:25
почитайте https://habrahabr.ru/company/southbridge/blog/329138/
Всё уже, подсказали спасибо, дело было в скрипте который делал форк. Ущербный этот докер, не нравится он мне.

Marlik
30.05.2017
09:47:09
Да вот юзаю инстансы на амазоне всё вполне нравится.

Peter
30.05.2017
09:49:32
А подскажите правильную схему

Допустим, у меня бежит в контейнере postgres, база персистится в каталог на файловой системе. Хочу обновить версию postgres. Мои действия?

Google
Dmitry
30.05.2017
09:58:48
обнови пг просто и все

если у тебя не будет проблемы на уровне совместимости данных, то все ок

Evgeny
30.05.2017
09:59:15
обнови - останови старый контейнер и подними новый

Dmitry
30.05.2017
09:59:20
в мускуле так можно было

иногда надо было делать upgrade чтобы обновилась стуктура бд

Peter
30.05.2017
10:00:52
дык, про обновление структуры и спрашиваю

при обновление пакета в debian эту магию делает пакетный менеджер

он поднимает рядом ещё кластер и делает pg_upgradecluster

а в mysql я помню ещё те времена, когда были конфликты при обновлении из-за использования ключевых слов для полей или таблиц

т.е. ты как-то обозвал таблицу, а в след. версии это название стало ключевым словом

Dmitry
30.05.2017
10:10:25
пока не попробуешь - не узнаешь )

тебе же на то и докер, чтобы проще было

Pavel
30.05.2017
14:18:40
Всем доброго здравия! Запустил nginx-proxy с поддержкой https (docker-compose файл: http://paste.ubuntu.com/24715372/), далее запустил контейнер нужного веб-сервиса. Захожу на домен указанный в переменной окружения VIRTUAL_HOST контейнера веб-сервиса - https работает, но показывается стартовая страничка nginx

Welcome to nginx! If you see this page, the nginx web server is successfully installed and working. Further configuration is required. For online documentation and support please refer to nginx.org. Commercial support is available at nginx.com. Thank you for using nginx.

в логах контейнера nginx ошибок нет: nginx.1 | 172.68.11.13 - - [30/May/2017:14:20:32 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.110 Safari/537.36" "178.76.224.96"

Pavel
30.05.2017
14:25:23
>указанный в переменной окружения VIRTUAL_HOST предлагаешь гадать, как оно у тебя там собрано?
имхо это не важно, поэтому решил опустить подробности. но если важно, то собрано вот так: http://paste.ubuntu.com/24715459/

here1am
30.05.2017
14:33:07
имхо это не важно, поэтому решил опустить подробности. но если важно, то собрано вот так: http://paste.ubuntu.com/24715459/
это похоже на докер-компоуз, а не на докерфайл. у тебя по сути проблема с нжинксом а не с докером, а ты рассказываешь, как ты докер запускаешь

Marlik
30.05.2017
14:36:26
Конфиг nginx'а нужен, да?

Google
here1am
30.05.2017
14:45:02
короче предлагаю копать в сторону нжинкса

Pavel
31.05.2017
08:27:17
У меня снова какая-то странная странность. Запускаю контейнер docker run -it perl /bin/sh, изнутри контейнера недоступен инет (пинг и apt-get update показывают unknown host)

сетей никаких дополнительно не создавал: $ docker network ls NETWORK ID NAME DRIVER SCOPE fde88bb4a621 bridge bridge local 970739e5ac49 host host local bff6622e8059 none null local

$ docker --version Docker version 17.03.1-ce, build c6d412e

в чём может быть проблема?

Dmitry
31.05.2017
08:32:08
днс внутри работает ли?

Pavel
31.05.2017
08:34:03
А как собираете?
никак, perl - образ с docker hub

днс внутри работает ли?
а как проверить?

обнаружил забавный факт

$ docker run -it perl ping ya.ru ping: unknown host

$ docker run -it --net=host perl ping ya.ru PING YA.ru (87.250.250.242): 56 data bytes 64 bytes from 87.250.250.242: icmp_seq=0 ttl=53 time=19.803 ms

Pavel
31.05.2017
08:36:32
то есть если указать ключик —net=host то контейнер видит интернет. а из bridge нифига.

Marlik
31.05.2017
08:37:03
никак, perl - образ с docker hub
Оу, это жесть, тама размер жопа, попробуйте мой Dockerfile, пакеты только свои ставьте. FROM alpine:latest RUN apk update && apk upgrade && apk --no-cache add make gcc g++ tar perl perl-dev curl wget \ procps gnupg libev-dev patch openssl-dev openssl tzdata ENV PERL_CPANM_OPT --no-wget RUN curl -L http://cpanmin.us | perl - App::cpanminus && cpanm --self-upgrade && cpanm DateTime \ DateTime::Locale Date::Parse VK::App WWW::Telegram::BotAPI COPY . /myapp WORKDIR /myapp CMD ["/usr/bin/perl", "/myapp/script"]

Marlik
31.05.2017
08:38:32
Может у вас с докером чото?

Pavel
31.05.2017
08:38:51
на гитхабе есть похожие проблемы

https://github.com/boot2docker/boot2docker/issues/365

Marlik
31.05.2017
08:39:23
Переустановить попробуйте.

Google
Pavel
31.05.2017
09:05:30
Переустановить попробуйте.
попробовал, не помогло

Marlik
31.05.2017
09:07:34
Тада читать про сеть докера. У мну вот так: ifconfig -a docker0 Link encap:Ethernet HWaddr 02:42:23:50:d8:ff inet addr:172.17.0.1 Bcast:0.0.0.0 Mask:255.255.0.0 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Evgeny
31.05.2017
09:23:43
попробовал, не помогло
покажите резолв.конф

Marlik
31.05.2017
09:26:31
cat /etc/resolv.conf # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND — YOUR CHANGES WILL BE OVERWRITTEN nameserver 127.0.1.1

Pavel
31.05.2017
09:26:39
покажите резолв.конф
pavel@pavel-Inspiron-3542:/projects/docker-images$ docker run -it alpine cat /etc/resolv.conf # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 192.168.64.100

Evgeny
31.05.2017
09:26:50
неверный неймсерв

Admin
ERROR: S client not available

Evgeny
31.05.2017
09:27:03
вон выше корректный.

ping 8.8.8.8?

Pavel
31.05.2017
09:28:43
ping 8.8.8.8?
робит. docker run -it alpine ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8): 56 data bytes 64 bytes from 8.8.8.8: seq=0 ttl=53 time=19.002 ms

я понял, у меня откуда-то в resolv.conf записалось nameserver 192.168.64.100

кстати, а как отредактировать этот resolv.conf ?

Evgeny
31.05.2017
09:34:30
vim || echo >

Marlik
31.05.2017
09:35:01
А оно разе не перезапишется?

Алексей
31.05.2017
09:35:17
Антон
31.05.2017
11:57:49
коллеги, а посоветуйте, что почитать про автоматизированный деплой докеризованных веб-приложений на всякие разные хосты что делать, если в репозитории изменился код приложения? а если докерфайл или docker-compose? а если конфиг nginx? ну и так далее

локально-то все работает, хочется именно наладить процесс автоматического деплоя/перезапуска/что-там-еще-надо в случае изменений, а для этого надо понять, из чего этот процесс обычно состоит

нужен ли докерхаб или нет?

Alexey
31.05.2017
12:17:57
коллеги, а посоветуйте, что почитать про автоматизированный деплой докеризованных веб-приложений на всякие разные хосты что делать, если в репозитории изменился код приложения? а если докерфайл или docker-compose? а если конфиг nginx? ну и так далее
Смотрите в сторону CI. Мне самому было бы любопытно послушать, как кто деплоит приложения. В моем случае, при пуше тега в репозиторий gitlab, происходит сборка имиджа через CI и заливка его в регистри гитлаба. Все конфиги, если там нету изменчивой информации или паролей, докер файл и композ файл хранятся в репозитории, образ в CI будет собран на их основе. Для паролей и пр. чувствительной информации в гитлабе можно добавить их как env для CI при сборке

Сам деплой происходит отдельно, уже залитый образ тянется с регистри и разворачивается. Сейчас это пока делается руками через capistrano, что по сути выполнение команд на удаленной машине через ssh. Но правда еще приходится закидывать на машину .env файл с паролями Это тоже можно при желании автоматизировать... Вариантов деплоя имиджей может быть много, тут мне тоже интересен опыт других пользователей.

Google
Anatoly
31.05.2017
12:31:34
нет разницы как деплоить доккер до тех пор пока у тебя: 1. простое хттп/рест апи 2. Не привязан донгл/тхундерболт/е1/усб 3. Пока тебе не надо в оверлей

Marlik
31.05.2017
13:07:36
А на амазон кто-нить деплоил контейнера?

Anatoly
31.05.2017
13:14:38
Антон
31.05.2017
13:15:49
каких компиляторов? как я понял Registry/DockerHub нужен чтобы не билдить 10 раз одно и то же, если вы деплоите на N машин

вот и всё

Anatoly
31.05.2017
13:16:23
а какой репозиторий вы собрались выливать на хост?

я видать как то неуловил

Антон
31.05.2017
13:17:26
php / nodejs, в общем никакой особой предварительной сборки не нужно

Антон
31.05.2017
13:19:09
ну так значит если не нужно билдить сам аппликейшен, и хост у тебя 1, ну или 2-3, то особого смысла в Registry/Hub нету

Dmt
31.05.2017
13:19:24
а тесты на чем гонять? На проде?

Anatoly
31.05.2017
13:19:28
каких компиляторов? как я понял Registry/DockerHub нужен чтобы не билдить 10 раз одно и то же, если вы деплоите на N машин
реджистри докерхаб нужен когда ты хочешь докер имаджи у себя держать. потому что так оно типа безопаснее

а тесты на чем гонять? На проде?
у него ноджиэс/пхп, какие тесты, побойтесь бога

ну так значит если не нужно билдить сам аппликейшен, и хост у тебя 1, ну или 2-3, то особого смысла в Registry/Hub нету
реджистрихаб никак не привязан в количеству машин. это как рексус или артекфактори или я не знаю что еще в пример привести

не всегда бывает так что можно итоговый упакованный продукт в доккерхаб запихнуть

Антон
31.05.2017
13:21:30
а тесты на чем гонять? На проде?
ну почему же, тесты есть, юнит сейчас в teamcity запускаются перед каждой сборкой, а все остальное потом гоняется на тестовой площадке

Страница 346 из 610