@docker_ru

Страница 196 из 1375
Konstantin
29.05.2017
13:47:54
Исходники одни для всех сервисов?

Egor
29.05.2017
13:48:23
то, что в копируемой папке app - нет, остальное идентично

Konstantin
29.05.2017
13:49:25
Ну так значит образы разные будут же

Делай свой бэйз

Google
Egor
29.05.2017
13:50:51
кроме последнего слоя, вопрос в том как этот ruby:alpine с несколькими слоями (которые для всех одинаковы) сделать, прежде чем уже с последним слоем (где код сервисов разный) билдить

вообще говоря, докер весьма интересная штука докер - это когда настраиваешь деплой в десять раз дольше, чем пишешь сам код ))

Egor
29.05.2017
13:52:23
и?

Konstantin
29.05.2017
13:52:29
Можно ещё on-build сделать

Yury
29.05.2017
13:52:37
ADD Gemfile /app/Gemfile ADD Gemfile.lock /app/Gemfile.lock RUN bundle install --without development ADD . /app

так лучше обычно

Egor
29.05.2017
13:53:09
как мне образ в докер-композе предварительно собрать с этим отдельным докерфайлом?

Maxim
29.05.2017
13:53:49
и в итоге кроме как сделать заранее docker build Dockerfile никак не решить эту задачу

Egor
29.05.2017
13:54:09
ок

я попробую пару варинтов, из тех что в голове крутятся, и напишу тут, че выйдет

Google
Konstantin
29.05.2017
14:04:08
build-task: build: context: . dockerfile: Dockerfile-base image: my-base:{$TAG:-latest} command: /bin/true

хотя я хз в чём проблема собрать его отдельно)

Egor
29.05.2017
14:08:26
да ни в чем, собственно )

Konstantin
29.05.2017
14:08:50
сделай один раз свой бэйз, положи на docker.io и задай триггер на его бэйз

будет сам там обновлятся

да ни в чем, собственно )
FROM ruby:alpine ONBUILD ADD Gemfile /app/Gemfile ONBUILD ADD Gemfile.lock /app/Gemfile.lock ONBUILD RUN bundle install —without development ONBUILD ADD . /app

такое себе сделай

https://github.com/docker-library/ruby/blob/752c5f7cf44870ceae77134b346d20093053c370/2.4/onbuild/Dockerfile за тебя всё сделали )))

>RUN mkdir -p /usr/src/app вот только это лишнее

Egor
29.05.2017
14:53:00
наверно я неправильно понял ONBUILD, ибо нигде не вижу директорию app

@masterdizer реквестирую хелп бандлер при билде вот такую штуку пишет: ERROR: "bundle install" was called with arguments ["—without", "development"]

Yury
29.05.2017
15:04:01
Какая версия бандлера?

вообще хз, это кусок боевого докерфайла

должно работать

Egor
29.05.2017
15:05:40
сорян

в скрипт пробрался флаг --force-rm

Konstantin
29.05.2017
15:08:12
наверно я неправильно понял ONBUILD, ибо нигде не вижу директорию app
ONBUILD Инструкция ONBUILD добавляет триггеры в образы. Триггер исполняется, когда образ используется как базовый для другого образа, например, когда исходный код, нужный для образа еще не доступен, но требует для работы конкретного окружения. ONBUILD ADD . /app/src ONBUILD RUN cd /app/src && make

Egor
29.05.2017
15:09:03
ясненько

Konstantin
29.05.2017
15:09:33
т.е. чтобы одно и тоже не писать несколько раз в каждом сервисе, делаешь тригер в базовом

Google
Konstantin
29.05.2017
15:10:41
только вот onbuild library/images будут убраны, свой собирай ) https://github.com/docker-library/official-images/issues/2076

Egor
29.05.2017
15:37:11
все, по-моему я выгорел

с последним образом ruby:alpine бандлер не ставит thin чет сегодня не мой день походу

Konstantin
29.05.2017
15:41:55
я бы может и помог, но хз что такое thin

Egor
29.05.2017
15:43:32
thin это рубевый мини-сервер

но я вроде нашел в чем дело

RUN apk add build-base в докер-файле не хватало

однако, здравствуйте

получилось собрать билд и использовать его как базовый on-the-fly в одном единственном compose-файле чудненько )

и без лишних контейнеров, конечно же

ruby-base: build: context: ./base image: my-ruby-base-image

в докер-файлах остальных сервисов делаем FROM: my-ruby-base-image:latest

Egor
29.05.2017
16:24:09
и в compose-файле сервисам ставим depends_on: - ruby-base чтобы базовый собирался первым

чего только не придумаешь чтобы доки не читать )))

Konstantin
29.05.2017
16:35:19
ruby-base: build: context: ./base image: my-ruby-base-image
это создаёт контейнер же

docker ps -a |grep ruby-base

Egor
29.05.2017
16:35:58
у меня в самом конце скриптик исполняется, который в числе прочего делает yes | docker system prune

грязный хак, конечно, но для моей задачи норм

Konstantin
29.05.2017
16:36:21
да это вообще в крон можно добавить

Arkadiy
29.05.2017
16:46:15
Добрый вечер) Подскажите пожалуйста, как сделать внутреннюю сеть между хостом и контейнерами? Нужно чтобы хост так же был полноценным участником этой сети и видел контейнеры и наоборот

Google
Arkadiy
29.05.2017
16:46:33
Внутренняя сеть между контейнерами работает, но хост получается аутсайдером

Про внешнюю сеть и проброс вкурсе, но нужна именно внутренняя сеть

Konstantin
29.05.2017
17:24:03
чем Publish не хватает? какая задача, чтобы общую сеть делать, это же не виртуалки

Admin
ERROR: S client not available

Alexei
29.05.2017
18:16:13
macvlan

Arkadiy
30.05.2017
09:56:09
чем Publish не хватает? какая задача, чтобы общую сеть делать, это же не виртуалки
ну я осознал для себя, что при порт форварде контейнер все равно остается в сети и другие контейнеры его видят

ну вроде

Arkadiy
30.05.2017
10:27:11
в каком плане?)

Konstantin
30.05.2017
10:28:24
Это не нормальное поведение

Что-то криво настраиваешь

Arkadiy
30.05.2017
10:29:23
-p 1234:1234 - вся настройка

Konstantin
30.05.2017
10:30:52
А , т.е. другие контейнеры видят порт 1234?

Arkadiy
30.05.2017
10:31:19
да

я просто сам создал себе проблему, которой не было

Konstantin
30.05.2017
10:31:35
:)

Ты публикуешь порт, его все видят

Arkadiy
30.05.2017
10:31:55
зато разобрался, как docker-machine работает)

пока решал проблему

Konstantin
30.05.2017
10:32:26
Публикуй на 127.0.0.1

Google
Konstantin
30.05.2017
10:32:37
Только хост будет видеть

Arkadiy
30.05.2017
10:32:48
Ты публикуешь порт, его все видят
ну это понятно, просто я был уверен, что после этого контейнер будет за натом хоста и перестанет быть частью сети

короче все работает и это хорошо)

спасибо)

Konstantin
30.05.2017
10:33:30
Он за натом, часть какой сети?

Alexey
30.05.2017
11:08:37
Привет ребят. Не могу сообразить. Я поднял контейнер с bind сервером и примонтировал в контейнер каталог где будут конфиги. Каталог сейчас пустой, примонтировал туда, где bind по умолчанию хранит конфиги. В итоге каталог в контейнере опустел. Как перебросить файлы из контейнера на хост после запуска контейнера?

Alexey
30.05.2017
11:23:17
docker-compose volumes: /path/config:/etc/bind/

Нужно в контейнере создать файл, чтобы он оказался на хосте. А в момент запуска контейнера, докер видит, что каталог на хосте пустой и тупо затирает содержимое каталога в контейнере...

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