SCRIPT
не images а контейнер
Oleh
Парадигма контейнеров говорит, что в одном контейнере один процесс запущен
SCRIPT
а как это сделать
SCRIPT
я через 5 минут напишу вам освежусь
Dan
Роман
На авс вроде есть бесплатный хостинг?
Роман
По ттх что там?
SCRIPT
Да
все освежился
SCRIPT
как теперь в данном имедже развернуть контейнер
Oleh
https://docs.docker.com/engine/reference/commandline/run/
SCRIPT
создал images xxx/xxx загрузил и запустил на VPS теперь нужно добавить еще один контейнер
SCRIPT
подскажите пожалуйста как это сделать
SCRIPT
как создать контейнер
Aleksey
как создать контейнер
Тебе вчера кидали ссылку на статью на хабре. Там всё очень хорошо разжевано
SCRIPT
ок
SCRIPT
тогда пройду ее
Aleksey
Поверь, она очень хороша
SCRIPT
просто после создания имеджа как дополнить контейнером его
SCRIPT
да уже 5 мануалов прошел
SCRIPT
надеюсь
Aleksey
ну же. Там выше ещё одну ссылку давали )))
Aleksey
docker run <имя образа>
Aleksey
Ну и там ещё всякие параметры
Aleksey
У тебя какой бекграунд, вообще? Та статья на хабре + официальная документация - должно хватить..
SCRIPT
в общем не совсем понял у меня есть images где хранится и работает бот с окружением он работает на vps тепер ьмне нужно создать контейнер со второй модификацией загрузить ег ои слинковать
SCRIPT
не совсем понимаю
SCRIPT
извините
Maksym
Приветствую Подскажите можно ли с одного контейнера вызывать команды в другом контейнере? Код лежит в web, а некоторые ф-ции нужно повесить на крон, который в cron контейнере
Maksym
Вообще можно и в web контейнере запустить, только вот запускаю сервак CMD python manage.py runserver 0.0.0.0:8080 и таким же образом крон запускается CMD cron && tail -f /var/log/cron.log если последний крон, то только он работает и наоборот
Aion
вынести задачи в хостовый крон и вызывать их в контейнере?
Aion
docker exec ...
Aion
костыльно, но это не нарушает принцыпов изолированной среды
Aion
так как контейнеры будут попрежнему независимо жить, а единственный кто будет ими помыкать - хост
Andrey
можно ли с одного компьютера запустить команду на другом, ну если нужно то почему бы и нет, но вот нужно ли
Aion
ssh <host> "bash -c "
Maksym
окей, тогда как мне с одного контейнера запустить и крон и джангу?
Maksym
вот dockerfile django FROM python:3.4 RUN mkdir /app WORKDIR /app ADD requirements.txt /app RUN pip3 install -r requirements.txt WORKDIR /app/back CMD python manage.py runserver 0.0.0.0:8080
Maksym
cron FROM ubuntu:latest RUN apt-get update RUN apt-get install -y cron ADD crontab /etc/cron.d/scheduled-cron RUN chmod 0644 /etc/cron.d/scheduled-cron RUN touch /var/log/cron.log CMD cron && tail -f /var/log/cron.log
Maksym
я их пилил в один файл, но запускается только 1 CMD команда
Aion
тебе не обязательно дергать крон в самом контейнере
Aion
ты можешь запускать задачи в хостовом кроне указывая что выполняться они будут в конкретном контейнере
Aion
-___-
Aion
ты на чем крутишь контейнеры?
Maksym
vps
Aion
какая ОС на нем стоит?
Maksym
ubuntu
Aion
замечательно
Aion
у хостовой ubuntu есть как ни странно cron
Aion
используй его
Maksym
я хотел так запустить
Maksym
но проблема в том, что пути всех файлов в котейнере не совпадают естественно с теми как эти файлы лежат на убунту
Maksym
поэтому запуская крон я получаю массу ошибок, как выход я хотел запустить все в самом контейнер чтоб сохранить структуру файлов
Aion
в кроне запускай скрипты внутри контейнера же
Aion
т.е. у тебя команды будут выполняться в контейнере
Aion
а вызываться кроном из хоста
Aion
отошел за печеньками
Maksym
а мне стоит это обдумать)
Maksym
вообщем я объеденил это все в один файл, но когда захожу в docker-compose exec web bash не копирует файл ADD crontab /etc/cron.d/scheduled-cron
Maksym
разобрался, все файлы кроновские создались в контейнер
Maksym
а вызываться кроном из хоста
а можете пример привести
Maksym
?
Aion
Docker exec же
Maksym
а
Maksym
понял
Aleksey
разобрался, все файлы кроновские создались в контейнер
Ещё один вариант - в cmd в докерфайле указывай скрипт. А в скрипте делай cron& python manage...
Alf 🙀
Не понимаю почему люди сразу не выстреливают себе в обе ноги раз такое пишут
Aleksey
Да. Мне он тоже не нравится. Но чем это отличается от запуска крона в контейнере потом через exec?
Alf 🙀
Да. Мне он тоже не нравится. Но чем это отличается от запуска крона в контейнере потом через exec?
В первом случае ты видишь что у тебя что-то пошло не так, например?
Aleksey
Согласен. Я сам из хостового крона дёргаю скрипт бэкапа базы в контейнере ))
Peter
причём поднял на двух нодах и везде такая ситуация
Peter
5/16/2017 11:22:36 AMnet/http.(*persistConn).readLoop(0xc8200ba270) 5/16/2017 11:22:36 AM /usr/local/go/src/net/http/transport.go:1182 +0xd52 5/16/2017 11:22:36 AMcreated by net/http.(*Transport).dialConn 5/16/2017 11:22:36 AM /usr/local/go/src/net/http/transport.go:857 +0x10a6 5/16/2017 11:22:36 AM 5/16/2017 11:22:36 AMgoroutine 9 [select]: 5/16/2017 11:22:36 AMnet/http.(*persistConn).writeLoop(0xc8200ba270) 5/16/2017 11:22:36 AM /usr/local/go/src/net/http/transport.go:1277 +0x472 5/16/2017 11:22:36 AMcreated by net/http.(*Transport).dialConn 5/16/2017 11:22:36 AM /usr/local/go/src/net/http/transport.go:858 +0x10cb 5/16/2017 11:24:50 AMfatal error: unexpected signal during runtime execution 5/16/2017 11:24:50 AM[signal 0xb code=0x1 addr=0x63 pc=0x7fc4c1e4c259] 5/16/2017 11:24:50 AM 5/16/2017 11:24:50 AMruntime stack: 5/16/2017 11:24:50 AMruntime.throw(0xb03e20, 0x2a) 5/16/2017 11:24:50 AM /usr/local/go/src/runtime/panic.go:547 +0x90 5/16/2017 11:24:50 AMruntime.sigpanic() 5/16/2017 11:24:50 AM /usr/local/go/src/runtime/sigpanic_unix.go:12 +0x5a
Peter
агентов запускал так sudo docker run -e CATTLE_AGENT_IP="172.31.10.7" --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.2 http://optimus.sandbox.local:8080/v1/scripts/THE_LONG_KEY
Peter
любопытно, рестартанул ноду - healthcheck поднялся...
Peter
кстати, на пальцах покажите откуда docker берёт инфу какие контейнеры нужно поднять при рестарте ноды?