@ru_docker

Страница 240 из 610
N
26.12.2016
17:32:23
В chkconfig стоит on для уровня 0

Amazon Linux, то есть по сути centos

Anatoly
26.12.2016
17:46:25
В chkconfig стоит on для уровня 0
Попробуй 6 добавить

N
26.12.2016
17:46:45
Добавлял, тоже не работает

Google
N
26.12.2016
17:47:12
Есть подозрение, что дело в S00killall

ptchol
26.12.2016
19:06:56
Сукиллолл

ребят а у меня вопрос по бестпрактисам сборки контейнеров. У вас есть автоматические сборки контейнеров по результатам создания тега ? Или всегда собираете из одной ветки только, к примеру мастера ?

Anton
26.12.2016
19:30:16
ну по ci циклу прокатили - qа сказали ок

лепим тег, пушим куда хотим

Ivan
26.12.2016
19:37:59
Два тэга: номер версии и latest

Magistr
27.12.2016
03:55:12
Два тэга: номер версии и latest
ты гений, одной это фразой помог решить одну проблему

Max
27.12.2016
05:15:14
Два тэга: номер версии и latest
+1 У нас тоже два тэга: хэш коммита и latest

Phil
27.12.2016
07:03:27
ты гений, одной это фразой помог решить одну проблему
хм.... а я это слизал с базовых имаджей

Magistr
27.12.2016
07:05:33
хм.... а я это слизал с базовых имаджей
А мне такое просто для гита нужно тоже, чтобы решить проблему тега для версии и протестированной версии

Phil
27.12.2016
07:07:34
А мне такое просто для гита нужно тоже, чтобы решить проблему тега для версии и протестированной версии
да просто я человек достаточно сторонний вот этому вашему линуксу, девопсу, докеру... а фишку в стандартных сборках подглядел

И в доке вроде прямо в примерах вбито

Виталий
27.12.2016
12:14:23
Сообество, подскажи мне как правильно настроить права на папки и файлы внутри контейнеров? Есть 3 контейнера: app = data-volume контейнер с кодом приложения php = php-fpm nginx = nginx Контейнер app собирается из вот такого Dockerfile —- FROM busybox:musl COPY ./source /var/www/html WORKDIR /var/www/html VOLUME ["/var/www/html"] —- и конечно он через volumes-from маунтит раздел /var/www/html к nginx и php контейнерам. После запуска контейнеров файлы из раздела /var/www/html получают права root:root что, как мне кажется не есть правильным. Как это правильно решить в разрезе докера?

Google
Evgeny
27.12.2016
12:16:08
Сделать внутри юзера и работать из под него

Виталий
27.12.2016
12:19:03
Смотри в чем проблема. Когда собирается контейнер app, он ничего не знает про другие два контейнера да и вообще кто будет его маунтить он не знает. Я могу конечно в Dockerfile контейнера app написанть команды создания юзера, сменить владельца файлов и тд... но на кого менять? Вообще владельцем файлов должен быть юзер www-data (от него php-fpm работат). Но этот юзер на момент сборки есть в контейнера php, а не в app.

Evgeny
27.12.2016
12:19:33
На момент сборки заведи этого юзера и расшарь его создание между имаджами

потом все из под него

Виталий
27.12.2016
12:20:01
а что значит расшарить между имаджами?

Evgeny
27.12.2016
12:20:16
Ну использовать кеш сборки

И будет у тебя во всех контейнерах один юзер https://docs.docker.com/engine/reference/builder/#/user

Виталий
27.12.2016
12:21:26
эм... счас не понял, каким боком кеш сборки иемет отношение к команде USER из докерфайла. И я уже смотрел на команду USER. Но она меняет юзера только для RUN, CMD and ENTRYPOINT

а на COPY и ADD не влияет, я попробовал :)

Evgeny
27.12.2016
12:21:55
А у тебя внутри запускается же команда внутри контейнера через одну из этих команд, не?

А...

Виталий
27.12.2016
12:22:32
не, сорцы проекта копируются в контейнер командами котоыре предлагает сам Dockerfile

Evgeny
27.12.2016
12:22:36
Ну тогда костылем - либо перед сборкой менять овнера, либо внутри при сборке.ЛУчше снаружи

Виталий
27.12.2016
12:23:02
костыли не нужны, надо нормальнй вариант.

все же одна инфраструктура, должен быть выход

Evgeny
27.12.2016
12:23:41
Если у тебя все работает больше чем на одной машине - нормального варианта я не знаю.

Google
Alex Milushev
27.12.2016
12:24:11
ну да

из вариантов использовать магию тарболов

Виталий
27.12.2016
12:24:48
у меня alpine везде пока что, но все равно я бы не завязывался

Evgeny
27.12.2016
12:25:09
Но, насколько мне известно, нет нормального варианта это все разрулить - нужно немного своих костылей

Виталий
27.12.2016
12:25:59
что именно?
выше я задачу писал...

Evgeny
27.12.2016
12:26:21
Организовать совпадение id и gid между машинами сборки, стейджингом и продом так, чтобы это было не root:root

Alex Milushev
27.12.2016
12:26:26
так

не должен быть овнером пользователь php-fpm

ему нужны только права на чтение

ну и запись во всякий кеш

но овнером быть не должен

Виталий
27.12.2016
12:27:17
ок, пусть так. А кто должен и где это рулить?

у меня вообще пробела от другого пошла. Я композером долежн пакеты установить, но владелец файлов рут, а от рута композер запускать опасно... соответственно владельцем файлов должен быть любой друго юзер но не рут

а скажите мне еще, что "значит распухать контейнер будет" ?

Evgeny
27.12.2016
12:29:06
смена файлов - новый слой

Виталий
27.12.2016
12:29:12
понял

Evgeny
27.12.2016
12:29:17
смена прав - в слоях будет две копии

Alex Milushev
27.12.2016
12:29:23
даже аттибутов

да

Google
Alex Milushev
27.12.2016
12:29:49
там старый срач по поводу ADD и COPY но проблему не порешали до сих пор

Виталий
27.12.2016
12:30:57
у меня вообще задача - создать ряд контейнеров для продакшена, чтобы в них уже все настроено было, сделал их pull на продакшене и запустил и агонь!

может я не правильно это решаю?

может нет ничего страшного собирать конетйнеры на продакшене?

Evgeny
27.12.2016
12:31:22
Задача правильная. Но собирать надо до прода

Alex Milushev
27.12.2016
12:31:26
собирай при сборке

прогоняй на них тесты

Виталий
27.12.2016
12:31:35
вот

до прода

Admin
ERROR: S client not available

Виталий
27.12.2016
12:31:40
то есть на дев машине

Alex Milushev
27.12.2016
12:31:42
с них и разворачивай на прод

в CI

Виталий
27.12.2016
12:32:09
ну, до CI мне еще далеко, хотя бы руками прочувствовать как это...

Evgeny
27.12.2016
12:32:31
Виталий
27.12.2016
12:32:33
ну суть в том, что на дев машине или CI собирается контейнер, кладется в репо и с репы уже на проде разворчивется. так?

Alex Milushev
27.12.2016
12:32:57
+

Evgeny
27.12.2016
12:32:59
на проде делаешь docker service update или docker pull && docker run

Google
Виталий
27.12.2016
12:33:09
дев машина - это дев машина
ну собрать то и запушитьв репу я на ней ручками могу :)

ок, значит подход правильный

Evgeny
27.12.2016
12:33:22
Это не очень хорошо

Виталий
27.12.2016
12:33:50
потому что CI пока что нет и я до его изучения пока не дошел :( гитлаб себе разверну и буду колупать

и тестов нет на проекте пока что... и когда будут хз :)

и мне вообще много чего учить :) пока ручками на любой машине кроме прода собирать буду

вот осталось с правами придумать че делать и я буду спать спокойно :)

Evgeny
27.12.2016
12:35:19
чтот мне подказывает что нет

вот ты где и как хранишь файло?

Виталий
27.12.2016
12:35:44
какие?

Evgeny
27.12.2016
12:35:51
ну у тебя наверняка пхп файлы создает

Виталий
27.12.2016
12:36:25
ну, допустим... приложение то работает, логи есть, юзеры чет загружают. Ты про это?

Evgeny
27.12.2016
12:36:49
Я про юзер контент, да. Логи у тебя встанут проблемой чуть позже

Виталий
27.12.2016
12:37:12
ну все важное будет смаунчено на хост машину

Evgeny
27.12.2016
12:37:27
Все работает на одной машине?

Виталий
27.12.2016
12:37:35
в контейнерах ничего важного не будет

пока что на одной, а что?

Evgeny
27.12.2016
12:38:04
Не, тогда все гораздо проше

Виталий
27.12.2016
12:40:51
Не, тогда все гораздо проше
Женя, ты доку ищешь или просто сказал что все проще и дальше сам? :))

Evgeny
27.12.2016
12:41:28
А, не, просто там нафиг не надо тогда все что я тут распинался

Всё куда проще и без мучений

Страница 240 из 610