
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

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

Peter
30.05.2017
09:43:58

Marlik
30.05.2017
09:45:25

here1am
30.05.2017
09:45:55

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"

here1am
30.05.2017
14:22:22

Pavel
30.05.2017
14:25:23

here1am
30.05.2017
14:33:07

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

Pavel
30.05.2017
14:36:51

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
днс внутри работает ли?

Marlik
31.05.2017
08:33:27

Pavel
31.05.2017
08:34:03
обнаружил забавный факт
$ 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"]

Pavel
31.05.2017
08:38:04

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

Google

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

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

Антон
31.05.2017
13:08:40
CI-то есть, TeamCity, вопрос в том, что именно ему делать :)

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, в общем никакой особой предварительной сборки не нужно

Anatoly
31.05.2017
13:17:45

Антон
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
не всегда бывает так что можно итоговый упакованный продукт в доккерхаб запихнуть

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