
George
13.01.2019
11:48:24
давайте вернемся к изначальному вопросу

LEXASOFT
13.01.2019
12:24:11

Subb98
13.01.2019
12:25:52

George
13.01.2019
12:48:54

Google

George
13.01.2019
12:49:06
но готовы ли вы тащить исполняемый файл х3, х4, х10 размера
и да, это не работает МЕЖДУ операционками
т.к формат бинарей разный

Ahmed
13.01.2019
14:22:13
Добрый день, в контейнере поднимаю постгрю версией 9.6, прокинул волюмсы на продакшене, хочу сделать ежедневный бэкап данных, но не понимаю где лежит папка с данными
db:
container_name: astro-db
image: postgres:9.6
volumes:
- pg_data:/var/lib/postgresql/data
- pg_backups:/pg_backups
- ./compose/postgres/init.sql:/docker-entrypoint-initdb.d/init.sql
Как и где найти папку с данными на хосте?

George
13.01.2019
14:28:29
Бекап чем делать будете ?

Ahmed
13.01.2019
14:29:23
Ну думал примитивным методом через крону или есть лучше варианты?

George
13.01.2019
14:29:28
init.sql рекомендую "запечь" в образ и версионировать его

Ahmed
13.01.2019
14:30:54

Vadim
13.01.2019
16:22:07
Привет. Решаем, собирать ли софт в отдельной среде и потом добавлять собранное в образ, или прямо в докерфайле написать make install. Что про это можно почитать?

George
13.01.2019
16:27:30

Google

George
13.01.2019
16:28:22
1. Собираем все пакеты из исходников и далее checkinstall , т.е. результатом make install является deb пакет
2. Далее на вторую стадию передаём deb и устанавливаем
Профит в том, что в итоговом образе нет всего лишнего для компиляции и сборки. А ещё deb по идее можно установить и без докера

Vadim
13.01.2019
16:30:56
Разумно. Но не лучше ли тогда этот deb собрать отдельно и положить в репозиторий? (У нас есть свой deb-репозиторий.)

George
13.01.2019
16:31:05
Это идеальный вариант, но иногда бывает overkill'ом и пайплайн становится сложнек

Vadim
13.01.2019
16:33:09
И усложняет локальную сборку, да. Спасибо, будем думать, про multi-stage я и забыл.

LEXASOFT
13.01.2019
18:17:55
У flant про dapp есть видео

Siergiej
13.01.2019
19:20:19
failed to register layer: rename /var/lib/docker/image/overlay2/layerdb/tmp/write-set-190460853 /var/lib/docker/image/overlay2/layerdb/sha256/7bff100f35cb359a368537bb07829b055fe8e0b1cb01085a3a628ae9c187c7b8: file exists
Как бороть такую проблему, вылетает когда делаю пул с library/docker

George
13.01.2019
19:35:16

Siergiej
13.01.2019
19:36:59

Stefan
13.01.2019
20:44:04
не, Стасикам я не доверяю

George
13.01.2019
21:08:44

Stefan
13.01.2019
21:09:54

Felix
13.01.2019
21:10:03

Anton
13.01.2019
21:18:18
Ребята, хэлп! Не могу разобраться. Есть docker-compose.yml, первый контейнер создается на базе моего образа и скачивается с Docker Hub, в нем лежит конфиг Nginx который я хочу скопировать в контейнер с Nginx. Можно ли это сделать?

George
13.01.2019
21:19:57

Anton
13.01.2019
21:20:35

George
13.01.2019
21:20:39
И я ещё могу сказать почему этот докер компоуз плохой

Google

George
13.01.2019
21:21:28
Как вариант - пошарьте вольюм между несколькими контейнерами
Первый стартует и его заполняет, второй просто читает как конфиг

Anton
13.01.2019
21:22:54

George
13.01.2019
21:24:16
1. Используйте версию файла 2.*
2. Нет хелсчеков.
3. Приложуха стартует сразу, как стартовал постгрес. Пофиг живой он или нет. См. П.2. добавьте хелсчек на постгрес и флаг на старт первого контейнера, когда постгрес хелзи, а не started
4. Вопросы по конфигу nginx. Точно достаточно одного конфига? Про заполнение конфига я высказался
И есть ещё классный совет на

Anton
13.01.2019
21:25:18

George
13.01.2019
21:25:19
https://hub.docker.com/_/nginx
If you wish to adapt the default configuration, use something like the following to copy it from a running nginx container:
$ docker run --name tmp-nginx-container -d nginx $ docker cp tmp-nginx-container:/etc/nginx/nginx.conf /host/path/nginx.conf $ docker rm -f tmp-nginx-container
This can also be accomplished more cleanly using a simple Dockerfile (in /host/path/):
FROM nginx COPY nginx.conf /etc/nginx/nginx.conf
5. Конфигурации - лучше через переменные окружения передавать

Anton
13.01.2019
21:26:33

George
13.01.2019
21:26:40
6. nginx стартует ТОЛЬКО, если поднялся сервисный контейнер. Это как бы совсем не круто.
Т.к. вы даже ошибку не увидите, если сервис сдох. Лучше, чтобы nginx молотил всегда, но есть нюанс. Пока контейнер с Вашим сервисом не стартанет, его днс имя не существует. А раз так, то nginx не пройдет проверку конфигурации. Ну, поняли надеюсь, что это все не очень для прода
Для локальной разработки = ок

Anton
13.01.2019
21:28:24

George
13.01.2019
21:28:44
Возвращаясь к конфигурации - пошарить вольюмом между обоими контейнерами ?
Или воспользоваться советом с временным контейнером из документации nginx, но адаптировать под свой кейс ?
И вообще откуда задача заполнения конфигурации из существующего докер образа взялась ?!

Anton
13.01.2019
21:29:44

George
13.01.2019
21:30:09

Google

Anton
13.01.2019
21:32:15

George
13.01.2019
21:32:56
Если nginx отдельным контейнером ?

Anton
13.01.2019
21:34:27

George
13.01.2019
21:35:35
Это удобно для продакшн. Но для разработки часто возникает задача подтюнить конфигурации на лету, без пересборки образов. И тут удобны вольюмы
Через них можно переопределить целые каталоги, которые уже есть внутри образа контейнера и подсунуть свои версии файлов

Anton
13.01.2019
21:41:29

George
13.01.2019
21:42:10

Anton
13.01.2019
21:42:48

Nikita
13.01.2019
21:45:30
Единственно верное решение засовывать конфиг на этапе сборки, все :)

George
13.01.2019
21:46:29

Anton
13.01.2019
21:47:31

Georgiy
13.01.2019
21:50:05

George
13.01.2019
21:52:16

Google

George
13.01.2019
21:52:58

Nikita
13.01.2019
21:53:14

George
13.01.2019
21:54:10

Nikita
13.01.2019
21:54:57

George
13.01.2019
21:57:19

Anton
13.01.2019
21:57:32