Dmitry
Можете поделиться?
Tadeusz
В плане?
Dmitry
В плане любые хосты
Dmitry
Ансиблом запускать. Просто не хочу брать большие контейнеры а-ля убунту и прочие, а чисто чтобы работал как хост, или как мост
Посмотреть просто как настройки проходят на машину
AstraSerg
Dmitry
У меня 3 ночи сейчас, с утра проверю и отпишусь) заранее спасибо!
AstraSerg
Извините, что разбудил :) Но проверять там нечего: бери да юзай
Dmitry
Понял, спасибо)
Tadeusz
Erlium
Запускаю node.js сервер в докере такой командой docker run -it --rm --name example -v "$PWD":/usr/src/app -w /usr/src/app -p 8080:3000 node:alpine node index.js. Проблема в том, что для выхода из скрипта приходится останавливать контейнер по id в другой консоли. Можно как-то это автоматизировать?
Yuriy
entrypoint заюзать например можно
Erlium
Если бы сервер был запущен на локалке, то было бы достаточно нажать Ctrl+C или Ctrl+D. А так как он работает в контейнере, то команды в консоли не поступают в контейнер. Надеюсь понятно объяснил. Может есть какой-то флаг, чтобы команды из консоли шли в контейнер.
Yuriy
в баш прекрасно идет stdin
Yuriy
вот прям сегодня на нодовской аппе проверял
Vir
Докеряне, подскажите, есть ли возможность про запуске docker-compose добавлять в хост ip адреса?
Yuriy
юзать вместо CMD - ENTRYPOINT
Yuriy
примерно вот такого содержания
Yuriy
#!/bin/sh
node web/app.js
Erlium
Чтобы понятней было скрин приложу.
Yuriy
сочиняем entrypoint.sh
Erlium
Yuriy
с вот таким содержимым
Yuriy
#!/bin/sh
node index.js
Yuriy
и потом запускаем docker run -it --rm --name example -v "$PWD":/usr/src/app -w /usr/src/app -p 8080:3000 node:alpine entrypoint.sh
Yuriy
ну ее в /usr/src/app неплохо положить бы
Yuriy
и chmod +x сделать
Yuriy
ну и возможно надо весь путь до entrypoint указывать
Yuriy
/usr/src/app/entrypoint.sh
Yuriy
docker run -it --rm --name example -v "$PWD":/usr/src/app -w /usr/src/app -p 8080:3000 node:alpine /usr/src/app/entrypoint.sh
Erlium
Yuriy
Vir
всем спасибо, решение нашёл
что бы добавлялись нужные ip, надо в ямл файл добавить
extra_hosts:
- "host:IP"
AstraSerg
freezlite
почему docker-compose run "done" сообщения в stderr шлет ?
freezlite
вот например у сервиса есть зависимости > /dev/null всеравно показывает лог done поднятых зависимых сервисов
freezlite
а & > /dev/null нет
freezlite
2 > /dev/null уберает инфо о созданных успешно сервисах
freezlite
wtf
AstraSerg
а & > /dev/null нет
после амперсанат нужно писать номер канала
http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html
Jürgen
а & > /dev/null нет
вначале отработает амперсант и переведет програму в бекграунт, но выхлоп не переведет ее, проще тогда уже /dev/null 2>&1 &
Roman
если надо все в девнул, то &> /dev/null - без пробела между & и >
AstraSerg
Roman
это все гребаный баш =( (вернее. sh)
Jürgen
2 это ты STDERR перенаправляешь)
Hopf
Подскажите, как собрать образ postgresql со своими миграциями?
Что сделал:
docker run -d --name lmy-postgres -e POSTGRES_USER=SUN -e POSTGRES_PASSWORD=SUN -e POSTGRES_DB=SUN-DB -p 5432:5432 postgres:9.6
Подключился
psql -h 127.0.0.1 -p 5432 -U SUN SUN-DB
Сделал всякие миграциии
Теперь при команде \dt видно таблички
Закоммитил
docker commit lmy-postgres test-server.labs:5000/lmy-postgres:0.0.1
Запускаю -
docker run -d --name lmy-postgres4 -e POSTGRES_USER=SUN -e POSTGRES_PASSWORD=SUN -e POSTGRES_DB=SUN-DB -p 5432:5432 test-server.labs:5000/lmy-postgres:0.0.1
Подключаюсь - и не вижу табличек.
Aleksei
так данные в volume лежат, а не в образе
Aleksei
для миграций при первом включении есть директория /docker-entrypoint-initdb.d/
помести туда .sh, .sql или .sql.gz файлы, и он их выполнит в алфавитном порядке
Hopf
Aleksei
Rustam
если приложение умеет мигрировать схему, зачем складывать результаты в образ? Пусть себе мигрирует, а в образ с БД останется только положить init скрипты, если нужны
Hopf
Rustam
пусть так. Но таскать с собой в образе уже проинициализированный кластер БД - заказывать себе веселье в будущем, ведь приложение наверное будет развиваться и потребуются изменения в схеме )
Hopf
Eugene
Парни, привет. Как тут вопрос правильно задавать? Гугл не помог )
Yuriy
AstraSerg
AstraSerg
Eugene
Короче у меня стандартное "Couldn't connect to Docker daemon at http+docker://localhost - is it running?", но побороть не могу. Пользователь в группу docker добавлен. Началось внезапно. ниче не менял...
AstraSerg
Eugene
ага - вообще на сервак не заходил
Eugene
я в такое сам обычно не верю ))
AstraSerg
systemctl docker status
что говорит?
AstraSerg
кроме вас на серваке еще oomkiller может хозяйничать ;)
ranebull
ranebull
Чтобы не запутывать человека)
AstraSerg
ага, поправил, спасибо
AstraSerg
у меня:
# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled)
Active: active (running) since Sun 2018-11-04 18:55:53 MSK; 1 months 6 days ago
Docs: https://docs.docker.com
Main PID: 8073 (dockerd)
Eugene
systemctl docker status
что говорит?
из подозрительного только вот это:
level=error msg="Handler for GET /containers/json returned error: write unix /var/run/docker.sock->@: write: broken pipe"
Eugene
и вот это:
level=error msg="Handler for POST /v1.36/build returned error: invalid reference format"
AstraSerg
active (running) есть?
Eugene
запущено вот так:
├─ 842 /usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:23116
Eugene
AstraSerg
офигеть. Значит рестарт нужен
Eugene
делал
Eugene
и докера и хоста