
Zart
07.10.2016
13:41:38
фе

Serge
07.10.2016
13:41:57
и через env прокидывать конфиг, если не хочется etcd

Zart
07.10.2016
13:41:58
а динамику где дают?

Serge
07.10.2016
13:42:03
и в топку supervisord

Google

Serge
07.10.2016
13:42:10
замени C++ на что хочешь и билд на сборку контейнера

Zart
07.10.2016
13:43:29
ну скажем создам я имиджи: под субд, волюмный дата контейнер под саму бд, лоадбалансер, фронт, бакенд
положим запущу весь этот зоопарк
а потом хочу скажем динамически наращивать колво фронтендов/бакендов туда-сюда
свой хероку, короче

Serge
07.10.2016
13:44:18
docker-compose scale
или как угодно, как бы ты раньше скалил по процессам
просто процессы запускаются докером

Roman
07.10.2016
13:46:17

Zart
07.10.2016
13:47:16
системд 8)

Roman
07.10.2016
13:48:16
системд 8)
чо systemd? у тебя процесс хочет /dev/log, которого нихрена нет в контейнере.

Zart
07.10.2016
13:48:57
ну про альтернативу супервизорду как манагеру подпроцессов в контейнере, если их там больше одного

Roman
07.10.2016
13:49:28

Google

Zart
07.10.2016
13:49:33
девлог можно либо в контейнер монтировать, тогда логгинг на хосте будет это ловить. либо вешать сислогд какой

Serge
07.10.2016
13:50:01
у тебя основной процесс в docker - твое приложение
docker logs прекрасно всё показывает

Roman
07.10.2016
13:50:57

Serge
07.10.2016
13:51:00
что как бы намекает, что их видно;)
так же ты можешь journald на месте сказать персистеть логи юнита определенного

Roman
07.10.2016
13:52:22

Zart
07.10.2016
13:59:55
дебиан я тоже заводил, но не ванильный джесси

Roman
07.10.2016
14:01:00
А вот это уже интересно

Zart
07.10.2016
14:01:30
народ давно уже допилил его до запускабельного состояния
поначалу надо было —privileged, потом допилили до —cap-add NET_ADMIN, теперь вот и вообщеюзерных прав хватает
можно организовывать обычные логины с гетти внутри как полноценную минисистему

Roman
07.10.2016
14:02:50

Zart
07.10.2016
14:02:58
не совсем по религии, но думаю местами сойдет
нет, на скриншоте стандартный центос:7 без модификаций

Google


Zart
07.10.2016
14:04:39
но по хорошему надо делать отдельный билд где включать/выключать некоторые сервисы надо чтобы это было оптимальнее
[root@ene ~]# docker run --rm -ite container=docker -v /run -v /run/lock -v /tmp -v /sys/fs/cgroup:/sys/fs/cgroup:ro debian:jessie /sbin/init
systemd 215 running in system mode. (+PAM +AUDIT +SELINUX +IMA +SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ -SECCOMP -APPARMOR)
Detected virtualization 'other'.
Detected architecture 'x86-64'.
Welcome to Debian GNU/Linux 8 (jessie)!
Failed to set hostname to <7e074985c3c3>: Operation not permitted
Failed to install release agent, ignoring: File exists
Cannot add dependency job for unit dbus.socket, ignoring: Unit dbus.socket failed to load: No such file or directory.
Cannot add dependency job for unit display-manager.service, ignoring: Unit display-manager.service failed to load: No such file or directory.
[ OK ] Reached target Remote File Systems (Pre).
[ OK ] Reached target Paths.
[ OK ] Reached target Encrypted Volumes.
[ OK ] Reached target Swap.
[ OK ] Created slice Root Slice.
[ OK ] Created slice User and Session Slice.
[ OK ] Listening on /dev/initctl Compatibility Named Pipe.
[ OK ] Listening on Delayed Shutdown Socket.
[ OK ] Listening on Journal Socket (/dev/log).
[ OK ] Listening on Journal Socket.
[ OK ] Reached target Sockets.
[ OK ] Created slice System Slice.
[ OK ] Created slice system-getty.slice.
Mounting Huge Pages File System...
Starting Copy rules generated while the root was ro...
Starting Journal Service...
[ OK ] Started Journal Service.
[ OK ] Reached target Slices.
Starting Remount Root and Kernel File Systems...
[FAILED] Failed to mount Huge Pages File System.
See 'systemctl status dev-hugepages.mount' for details.
[ OK ] Started Copy rules generated while the root was ro.
[ OK ] Started Remount Root and Kernel File Systems.
Starting Load/Save Random Seed...
[ OK ] Reached target Local File Systems (Pre).
[ OK ] Reached target Local File Systems.
[ OK ] Reached target Remote File Systems.
Starting Trigger Flushing of Journal to Persistent Storage...
Starting Create Volatile Files and Directories...
[ OK ] Started Load/Save Random Seed.
[ OK ] Started Trigger Flushing of Journal to Persistent Storage.
[ OK ] Started Create Volatile Files and Directories.
Starting Update UTMP about System Boot/Shutdown...
[ OK ] Started Update UTMP about System Boot/Shutdown.
[ OK ] Reached target System Initialization.
[ OK ] Reached target Timers.
[ OK ] Reached target Basic System.
Starting /etc/rc.local Compatibility...
Starting Permit User Sessions...
[ OK ] Started /etc/rc.local Compatibility.
[ OK ] Started Permit User Sessions.
Starting Console Getty...
[ OK ] Started Console Getty.
[ OK ] Reached target Login Prompts.
[ OK ] Reached target Multi-User System.
[ OK ] Reached target Graphical Interface.
Starting Update UTMP about System Runlevel Changes...
[ OK ] Started Update UTMP about System Runlevel Changes.
Debian GNU/Linux 8 7e074985c3c3 console
7e074985c3c3 login:
а вот и деб без модификаций, вполне стартует. только ран лок надо еще добавить во врайтабельные


Serge
07.10.2016
14:16:18

Zart
07.10.2016
14:16:58
короче ты за маршалинг докером файловых потоков между контейнером и демоном

Serge
07.10.2016
14:17:42

Zart
07.10.2016
14:18:26
ну ква. можно и так
Debian GNU/Linux 8 76979975ea21 console
76979975ea21 login: root
Linux 76979975ea21 4.6.7-300.fc24.x86_64 #1 SMP Wed Aug 17 18:48:43 UTC 2016 x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@76979975ea21:~# ps -Af f
UID PID PPID C STIME TTY STAT TIME CMD
root 1 0 0 14:15 ? Ss 0:00 /sbin/init
root 21 1 0 14:15 ? Ss 0:00 /lib/systemd/systemd-journald
root 30 1 0 14:15 console Ss 0:00 /bin/login --
root 45 30 0 14:15 console S 0:00 \_ -bash
root 49 45 0 14:15 console R+ 0:00 \_ ps -Af f
root@76979975ea21:~#
журналд из коробки спаунится

Serge
07.10.2016
14:19:40
так ты логинишься. если прописать в entrypoint свой процесс, не должно больше ничего запуститься

Zart
07.10.2016
14:20:05
я не разделяю религию докера про один процесс на контейнер
это уже какой-то долбочрут выходит

Serge
07.10.2016
14:20:30
скажи —entrypoint ps —cmd "-Af f"

Zart
07.10.2016
14:20:59
и пусть ps ебется обработкой сигналов, про которые он нихера не знает...
так сейчас я на виртуалках всё и гоняю
пока не вижу смысла в докере ну ни на грош

Serge
07.10.2016
14:21:31
хозяин - барин

Zart
07.10.2016
14:21:52
поэтому и хочется увидеть как же именно народ его в реальном продакшене-то гоняет
но без всякой херни типа флотов и кубернетов

Google

Roman
07.10.2016
14:22:24

Serge
07.10.2016
14:22:50
ну вот я тебе говорю. это удобный способ запускать процесс со своими либами, как минимум, выкидываем supervisord и всё

Zart
07.10.2016
14:23:13
и что ж в нем удобного, кроме изоляции

Serge
07.10.2016
14:23:25
а этого достаточно

Zart
07.10.2016
14:23:30
мкай

Serge
07.10.2016
14:23:37
и удобное управление лимитами и авторестартами

Zart
07.10.2016
14:23:44
авточо?

Serge
07.10.2016
14:24:02
это когда оно упало, его заново стартят
потому что должно работать

Admin
ERROR: S client not available

Zart
07.10.2016
14:24:11
а как указать что я хочу после ребута хоста поднять 3 шт этого имиджа, и 5 того?

Serge
07.10.2016
14:24:20
compose

Zart
07.10.2016
14:24:28
мм
а докер-композ на хосте гонять кто будет? инит система?

Serge
07.10.2016
14:24:45
но тебе это не поможет, если у тебя не будет дискавери правильного, чтобы знать куда роутить

Zart
07.10.2016
14:24:45
или вшито штатно?

Roman
07.10.2016
14:24:56
я хочу немного большего. например, хочу несколько инстансов на разных машинах с приватной сеточкой.

Serge
07.10.2016
14:25:11
compose - рассказывает docker-у то что надо

Zart
07.10.2016
14:25:20

Serge
07.10.2016
14:25:31
если стаяла задача иметь 5 запущенных контейнеров, так и будет

Google

Roman
07.10.2016
14:25:36

Serge
07.10.2016
14:25:53
не опенстак конечно, он не для этого

Zart
07.10.2016
14:26:04
ну да. я его пощупал, и стало тоскливо

Serge
07.10.2016
14:26:15
кубернетис или редхатовский atomic

Zart
07.10.2016
14:26:20
а juju кто пробовал?

Serge
07.10.2016
14:26:22
к нему там они накрутили своего
в любом случае, если у тебя есть в юзолированной сетке, с разными айпишниками несколько хостов/виртуалок/контейнеров/whatever тебе нужен дискавери и оркестрация
т.е. полный стек SDN

Zart
07.10.2016
14:28:01
*потискал свой опенвсвитч*
охуительная штука

Roman
07.10.2016
14:28:56

Zart
07.10.2016
14:29:08
он про организацию приватной сетки между машинками

Roman
07.10.2016
14:29:24
ну приватные сеточки строятся и на vxlan на раз-два.

Zart
07.10.2016
14:29:25
сдн с этим справляются лучше
нуууу.. технически да

Serge
07.10.2016
14:30:13
если у тебя два контейнера на одной тачке слушают один и тот же порт, у тебя уже есть SDN

Zart
07.10.2016
14:30:13
всяко лучше ебли с QinQ или hairpin роутингом

Roman
07.10.2016
14:58:53
откуда SDN? :)

Zart
07.10.2016
15:00:52
для него ip ns уже сдн 8)