Dmitry
Можете поделиться?
Tadeusz
В плане?
Dmitry
В плане любые хосты
AstraSerg
Кто нибудь делала контейнеры для практики с Ansible?
С ансиблом внутри? Или ансиблом запускать? Изложите свою проблему конкретнее.
Dmitry
Ансиблом запускать. Просто не хочу брать большие контейнеры а-ля убунту и прочие, а чисто чтобы работал как хост, или как мост Посмотреть просто как настройки проходят на машину
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
вот прям сегодня на нодовской аппе проверял
Erlium
в баш прекрасно идет stdin
Можно подробнее, как сделать?
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
Erlium
и потом запускаем docker run -it --rm --name example -v "$PWD":/usr/src/app -w /usr/src/app -p 8080:3000 node:alpine entrypoint.sh
Ошибка docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "exec: \"entrypoint.sh\": executable file not found in $PATH": unknown.
Yuriy
ну ее в /usr/src/app неплохо положить бы
Yuriy
и chmod +x сделать
Erlium
ну ее в /usr/src/app неплохо положить бы
Создал в той же папке что и index.js. Файл же должен проброситься. Права на запуск дал.
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
Vir
всем спасибо, решение нашёл что бы добавлялись нужные ip, надо в ямл файл добавить extra_hosts: - "host:IP"
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 - без пробела между & и >
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
так данные в volume лежат, а не в образе
Спасибо. Посмотрю как сохранить в образ.
Hopf
для миграций при первом включении есть директория /docker-entrypoint-initdb.d/ помести туда .sh, .sql или .sql.gz файлы, и он их выполнит в алфавитном порядке
Спасибо, проблема в том, что миграция делается внешним приложением и есть вариант разбираться с тем что оно намигрировало или запихнуть как есть
Rustam
если приложение умеет мигрировать схему, зачем складывать результаты в образ? Пусть себе мигрирует, а в образ с БД останется только положить init скрипты, если нужны
Rustam
пусть так. Но таскать с собой в образе уже проинициализированный кластер БД - заказывать себе веселье в будущем, ведь приложение наверное будет развиваться и потребуются изменения в схеме )
Eugene
Парни, привет. Как тут вопрос правильно задавать? Гугл не помог )
Eugene
Короче у меня стандартное "Couldn't connect to Docker daemon at http+docker://localhost - is it running?", но побороть не могу. Пользователь в группу docker добавлен. Началось внезапно. ниче не менял...
Eugene
ага - вообще на сервак не заходил
Eugene
я в такое сам обычно не верю ))
AstraSerg
systemctl docker status что говорит?
AstraSerg
кроме вас на серваке еще oomkiller может хозяйничать ;)
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
AstraSerg
офигеть. Значит рестарт нужен
Eugene
делал
Eugene
и докера и хоста