
Uncle
02.05.2018
21:09:15
Господа, доброй ночи. Понимаю, что вопрос скорее всего идиотский, но я сломал себе мозг. Познакомился с докером недавно, попробовал перевести пару веб-проектов на него – понравилось. Дальше идея была поднять swarm, повесить на него несколько проектов и к каждому сделать доступ со своего домена, ну по сути аналог обычных виртуальных хостов из nginx.
Затык произошёл на моменте осознания, что куда коннектить. Вот есть несколько сервисов, есть Traefik, но в документации он настраивается на какой-то один домен просто как балансировщик нагрузки. Подскажите, куда копать или подтвердите подозрения, что я хочу какую-то дичь и вообще это не docker-way?

Jentry
02.05.2018
21:34:27
Не использовал еще Traefik, но в nginx это обычная задача, несколько микросервисов скрываются за разными URL по location. Докеру-то по сути все равно, просто разберись с Traefik, уверен, там это тоже можно - указывать несколько апстримов и их адреса в докер-сети по названию контейнеров

Uncle
02.05.2018
21:43:14
Traefik мне не критичен, на самом деле, nginx то по-привычнее будет. Ну буду дальше копать, спасибо)

Roman
02.05.2018
22:41:05
может кому интересно будет https://www.nginx.com/resources/library/container-networking-docker-kubernetes/?utm_campaign=docker&utm_medium=ebook&utm_source=adroll-fb&utm_content=container-networking

Google

Roman
02.05.2018
22:41:11
вроде толковая хрень

noizo
03.05.2018
07:55:50

Vlad
03.05.2018
08:28:44
всем привет
как убить впроецсс внутри контенера docker
root@7454469162c3:/home/vlad# kill -9 21693
bash: kill: (21693) - Permission denied

Тарас
03.05.2018
08:30:13
docker exec

Vlad
03.05.2018
08:30:52
я пробросил в контенер ubuntu ssh
и пытаюсь через консоль

Andrey
03.05.2018
08:31:11
Da blin
Зайди в баш
Docker exec

Vlad
03.05.2018
08:32:26
зашел. пытаюсь убить командой kill -9 21693 из под рута - Permission denied

Тарас
03.05.2018
08:32:35

Google

Vlad
03.05.2018
08:32:52
root@7454469162c3:/home/vlad# ps x | grep 21693
21693 ? S 0:03 /usr/bin/apt-get -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold install apache2 php7.0-fpm libapache2-mod-php7.0 mysql-server

Тарас
03.05.2018
08:33:35
docker exec (name) ps

Vlad
03.05.2018
08:35:03
root@ubuntu:~# docker exec 7454469162c3 ps
PID TTY TIME CMD
19493 ? 00:00:00 sshd
21693 ? 00:00:03 apt-get
25367 ? 00:00:00 ps

Тарас
03.05.2018
08:37:46
так по факту у тебя там ничего нет...
убей контейнер)

Vlad
03.05.2018
08:39:21
root@ubuntu:~# docker kill 7454469162c3
Error response from daemon: Cannot kill container: 7454469162c3: Cannot kill container 7454469162c396fc5da4616cbd9f5b9f14d9e9d3b5c8cbf24ce89d3398be576c: unknown error after kill: docker-runc did not terminate sucessfully: container_linux.go:393: signaling init process caused "permission denied"
похоже на этот баг
https://github.com/moby/moby/issues/36809

Тарас
03.05.2018
08:46:20
лол, у тебя apparmor?

Vlad
03.05.2018
08:46:46

Тарас
03.05.2018
08:47:15
либо его отключить, либо написать правила

Vlad
03.05.2018
08:47:43
как откючить его ?
service apparmor stop не помогует

Тарас
03.05.2018
08:48:10
читай вики твоего дистрибутива

Vanger
03.05.2018
09:17:11
как откючить его ?
в бубутне
service apparmor stop
update-rc.d -f apparmor remove
apt-get remove apparmor apparmor-utils

Vlad
03.05.2018
09:17:46

Vanger
03.05.2018
09:18:45

Vlad
03.05.2018
09:18:59
хз

Vanger
03.05.2018
09:19:22
какая бубунта?

Google

Vlad
03.05.2018
09:20:39

Vanger
03.05.2018
09:23:24
snapd да оно прибьёт как и lxd - apparmor у них в зависимостях

✖️
03.05.2018
09:28:53
привет.
у меня на бекенде есть эндпоит который валидирует/конвертирует аудиофайлы (потенциально на 1-2 часа).
Это нормально если я выделю под этот функционал отдельный контейнер и прилеплю какойнить апи к нему или это будет оверкил?

Роман
03.05.2018
10:14:00
Всем привет, как сейчас делают если надо две базы в одном контейнере? Entrypoint скрипт пилить или есть возможно в environment сразу две базы прописать?

Jentry
03.05.2018
10:29:50
Делаю на уровне сервисов create database, если нет базы перед стартом миграций, но для этого нужны соответствующие права юзеру.

Евгений
03.05.2018
10:56:51

✖️
03.05.2018
10:58:41
слишком много контейнеров)

Евгений
03.05.2018
10:59:02

Admin
ERROR: S client not available

Anton
03.05.2018
11:01:53
@The_KOPACb, будешь и дальше везде делать эту херню -- накажу.

Vitaliy
03.05.2018
11:19:50
Подскажите пожалуйста, а куда docker run -e "FOO=bar" кладет env-переменную? мне надо передавать переменную при запуске, я в докерфайл написал ENV FOO='' но printenv от обоих пользователей не выдет нигде переменной FOO. при запуске пишу docker run -e "FOO=bar" myimage
или еще лучше как передать в контейнер ip хоста

Sergey
03.05.2018
11:23:39
туда же куда bash export

Vitaliy
03.05.2018
11:24:31
printenv ни от рута ни от непривилегированного пользователя не выдает нигде переменной

Sun
03.05.2018
12:40:37
зайди в конт и напиши export :)

Vitaliy
03.05.2018
12:43:00
ну я-то напишу, мне отдать конт надо

Bohdan
03.05.2018
13:51:32
добрый день.
в докер контейнере база mysql. как ее полностью очистить?

Anton
03.05.2018
13:58:15
При чём тут Docker?

Google

Alexey
03.05.2018
14:01:00

Rashid
04.05.2018
03:05:23
Здравствуйте. Можно ли каждому контейнеру указать ограниченный размер? Например, 1 ГБ на контейнер.

Artem
04.05.2018
03:16:29

Rashid
04.05.2018
03:23:52

Sergey
04.05.2018
06:10:05
Ребят, может кто подсобит с задачкой
есть ArtemisActiveMQ в докере, на этапе билда из папки в образ для пути /var/lib/artemis/etc кидается конфиг broker.xml, в котором прописаны настройки для базы
Задача следующая - требуется через том кидать в эту папку конфиг, не пересобирая образ, том я обьявил
VOLUME ["/var/lib/artemis/etc"]
а как быть с конфигом? В entrypoint скрипте указывать чтобы извне контейнера произошло копирование в том?
или достаточно просто при запуске контейнера сообщить докеру что такой то том надо примонтировать туда то, и конфиг сам подтянется?)

Vensder
04.05.2018
06:14:46
При запуске достаточно примонтировать каталог с конфигом с хоста в .../etc

Sergey
04.05.2018
06:16:44

Robert
04.05.2018
06:17:42
Монтирование происходит с хоста в контейнер

Sergey
04.05.2018
06:20:40
похоже нашел решение, мне потребуется монтировать не каталог конфигов, а какой-нибудь левый типа host:/opt/artemis в image:/opt/artemis, а потом в entrypoint.sh указать чтобы из каталога /opt/artemis шла копия в artemis/etc
сам уже запутался?

Vensder
04.05.2018
06:53:23

Sergey
04.05.2018
07:59:01
в итоге вышло так что я делаю
RUN mkdir /opt/artemis && chown -R artemis.artemis /opt/conf/artemis
VOLUME ["/opt/conf/artemis"]
и в entrypoint.sh говорю чтобы при старте брал конфиг из примонтированного тома в папку etc