@docker_ru

Страница 511 из 1375
Artem
09.03.2018
12:28:17
А разве healthcheck в dockerfile не для этого предназначен? У вас что-ли старая версия докер?
Так это не отменяет то, что нужно обвязывать хелсчеком приложение, хелсчек докера это просто команда которую он запускает, он не понимает стейтов приложения не будет писать о том что какой нибудь воркер плодит процессы и не завершает их

Max
09.03.2018
12:34:43
@nick_dev нужно просто +2 параметра в енв передать - деф монгоконтейнер создаст админа и закроет конект этим юзером

Usagi
10.03.2018
08:10:10
Добрый день. Подскажите плиз, куда копать? Я вот через docker-compose запускаю с networking внутри, получается на каждый бэк я создал alias. И как достучаться через этот alias c браузера компа?

Google
Artem
10.03.2018
08:26:55
Пробросить порт и прописать себе в хостах что нужно

intruder
10.03.2018
11:26:48
всем привет. Только начал с докером работать и не могу въехать почему при старте docker-compose up с и без ключа d контейнер запускается и тут же выходи т status exit 0 в docker-compose ps. Причём при прямом запуске контейнера docker run -it ... -d он запускается и висит

Может чего в docker-compose.yml надо прописать?

Artem
10.03.2018
12:26:00
Так ты же сам написал, что run запускаешь с -d тогда почему компоуз то запускаешь без него?

docker-compose up -d

Антон
10.03.2018
12:53:40
всем привет. в общем стала такая задача. Есть веб приложение php+mysql+nginx+mongo. Есть много заказчиков, когда кто то заказывает установку, приходится подгатавливать окружение и ставить все это вручную. Потом с помощью ansible уже накатывается само приложение, но после того как сконфигурирован веб сервер.

Хочу этот процесс автоматизировать, и сделать все на контейнерах

правильно ли я понимаю что докер может мне помочь с автоматизацией этого процесса?

Artem
10.03.2018
13:15:36
Правильно

Антон
10.03.2018
13:16:15
Артем, я же тебя знаю

лол. мир тесен

Anton
10.03.2018
13:26:51
Now kiss.

intruder
10.03.2018
13:40:04
docker-compose up -d
Я написал чтг и с d и без запускал

Google
Artem
10.03.2018
13:41:14
Из текста не очень понятно было.

Смотри остальные параметры типо маунто, на которых допустим нет прав

intruder
10.03.2018
13:45:24
Не,я пока без монтирования

Буду у компа покажу конфиг,но там простой

Yevhen
10.03.2018
14:17:32
Docker-compose logs смотри, или добавь в композе command: sleep infinity и смотри что происходит

Artem
10.03.2018
16:35:44
Ну понятно дело в апе, ты же сам ему указал висеть бесконечно со слипом

Штудируй логи что не так с основным процессом контейнера

intruder
10.03.2018
16:36:19
понял, спасибо.сейчас посмотрю

Yevhen
10.03.2018
16:37:02
Ну да, щас смотри как себя ведёт твоё приложение

Andrey
10.03.2018
20:53:47
Ребят, привет. А я правильно понимаю, что если в docker inspect я вижу подобную запись, то волюмы не примонтированы и весь контент лежит внутри контейнера? "Volumes": { "/home/git/data": {}, "/var/log/gitlab": {} },

Bogdan (SirEdvin)
10.03.2018
21:03:37
Не правильно. Там еще есть раздел с маунтами.

Andrey
10.03.2018
21:19:32
Yevhen
10.03.2018
22:22:54
Антон
11.03.2018
06:46:38
описал в докерфайле RUN pecl install memcached-2.2.0 \ && docker-php-ext-enable memcached запускаю docker-compose build —no-cache php-fpm и получаю ошибку pecl/memcached is already installed and is the same as the released version 2.2.0 install failed

как так получается что уже установлен? я же делаю ребилд

Artem
11.03.2018
07:41:24
Ты делаешь ребилд уже из готового образа, т.е. то что было в нем никуда не девается, а ты только добавляешь.

Антон
11.03.2018
07:42:05
хм, его надо как то удалять?

или же можно сделать какую то проверку чтобы игнорировать установленные расширения и двигать процесс установки дальше

Artem
11.03.2018
08:39:59
Ну обычно достаточно докерфайл почитать чтобы понять что есть или нет

Google
Artem
11.03.2018
08:40:41
Собирать образы бездумно не имея понятия что внутри родительского - не очень хорошая идея)

Антон
11.03.2018
08:41:27
да я вообще только сейчас понял что есть образы =)

у меня было мышление только о контейнерах и вольюмах

intruder
11.03.2018
09:03:00
Есть фидбек?
да пока не разобрался еще

может я какой то важный моент пропускаю? сделал папку. перешел в нее. создал Dockerfile FROM debian:stretch ENV DEBIAN_FRONTEND noninteractive RUN apt update; \ apt upgrade; \ apt install nano htop bind9 -y собрал образ docker build . -t bind9 создал docker-compose.yaml version: '2' services: bind9: image: bind9 ports: - '53:53/udp' и я не могу понять момент - образ у меня есть со скачанным пакетом bind9, а в какой момент я должен сам bind9 запускать? и где это прописывать

к слову я уже пробовал в Dockerfile прописывать - /etc/init.d/bind9 start и service bind9 start , но все равно контейнер завершается exit 0 как будто выполнил скрипт и завершился

Anton
11.03.2018
09:11:11
Всё правильно - /etc/init.d/bind9 выполнился, и потому завершился с 0.

intruder
11.03.2018
09:12:32
тогда я не вьеду как сервисы стартовать в контейнерах в привычном для обычной ОС виде

Filipp
11.03.2018
09:14:31
А вы без компоуза попробуйте стартовать контейнер. В целях изучения. Чтоб понять что да как. Как создавать, как стартовать. А компоуз потом, для упрощения

Artem
11.03.2018
09:15:19
Приложение должно уметь работать в виде демона

В контейнере нет инит и системд, потому должно само приложение уметь так работать

intruder
11.03.2018
09:16:27
т.е. запускать с соответствующими ключами не используя стартовые скрипты из /etc/init.d ?

Artem
11.03.2018
09:16:44
Именно

Скорее всего уже есть образ с bind где нибудь, посмотри как там entrypoint сделан

Yevhen
11.03.2018
09:18:44
Cmd named должно хватить

intruder
11.03.2018
09:19:33
понял,сейчас посмотрю на примере.спасибо

CMD /usr/sbin/named -f с таким запуском сработало!) спасибо огромное за подсказки

а как вы решаете соответсвие в хост системе и в контейнерах id юзеров и групп, под которыми запущены процессы в контейнерах? чтобы корректно отображалось в том же htop

Никита
11.03.2018
11:28:42
Привет, есть вопрос - мне надо получить из контейнера доступ к сетевым интерфесам хоста (их состояниям), собирать контейнер с опцией -v /sys:/host/sys:ro это очень плохо и не надо так никогда делать, или, в целом, допустимо?

Google
intruder
11.03.2018
11:45:53
А не нужно мониторить htop, для этого есть другие инструменты для мониторинга докера)
ну в хост системе может быть не только докер например. и при выводе htop процесс который в контейнере крутится допустим под юзером bind, в хост системе отображается под systemd-network

Artem
11.03.2018
11:46:48
Так у этих процессов докер родительский из сразу видно

Ну а если хочется эстетики то пересобирать контейнер и в докерфайлах указывать конкретный uid у юзеров

intruder
11.03.2018
11:48:01
мне чисто эстетически приятно видеть корректное имя под которым процесс запущен в контейнере, а не то что совпало в хост системе)

Ну а если хочется эстетики то пересобирать контейнер и в докерфайлах указывать конкретный uid у юзеров
а если эти юзеры создаются в процессе установки пакета? его же не будет в хост системе

будет id получается

Artem
11.03.2018
11:49:05
Да

Ну тогда все контейнеры чтобы работали от рута

Он то точно есть

intruder
11.03.2018
11:49:44
нельзя ли примаунтить /etc/passwd /etc/group к контейнеру с хост системы перед установкой пакета?

чтобы в него юзеры из контейнеров добавлялись

Artem
11.03.2018
11:50:50
И все это ради эстетики?)

Ну чет такой себе патерн

intruder
11.03.2018
11:51:06
я просто до докера в чруте так делал)

Artem
11.03.2018
11:51:33
Мне кажется проще во всех контейнерах указывать user root

При сборке

intruder
11.03.2018
11:52:38
безопасность не пошатнет? вдруг из контейнера найдут выход на поверхность)

Artem
11.03.2018
11:53:21
Если ты не будешь прокидывать туда passwd и прочие извращения, то не найдут)

intruder
11.03.2018
11:54:23
))

Artem
11.03.2018
11:54:51
Ну и если контейнеры по правильному принципу работают: 1 процесс - 1 контейнер , то никак не должно афектить безопасность, и работу других контейнеров

Google
intruder
11.03.2018
11:55:11
да, так и делаю

насчет рута понял, спасибо за совет)

пойду извращаться

Andrey
11.03.2018
12:03:55
Омг, как же скучно я живу))

Павел
11.03.2018
12:09:38
привет ребят

docker run -it —rm —network host alpine ash

почему, я могу делать ping 8.8.8.8

Страница 511 из 1375