Georgiy
java наверное можно тоже так собрать
кажись gcj про это был, но его подзабросили
George
я ту не в курсе уже, сорри.
George
давайте вернемся к изначальному вопросу
Владислав
Запусти бинарь x86 на arm, а пхп запустить можно
делаем два бинаря и всё (как и в случае с .exe). вопрос не в том, что "можно" и что "нельзя".
George
Запусти бинарь x86 на arm, а пхп запустить можно
в случае винды или линукса можно скрафтить исполняемый файл, который содержит секкции для каждой поддерживаемой платформы
George
но готовы ли вы тащить исполняемый файл х3, х4, х10 размера
George
и да, это не работает МЕЖДУ операционками
George
т.к формат бинарей разный
Ahmed
Добрый день, в контейнере поднимаю постгрю версией 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
Ahmed
Как и где найти папку с данными на хосте?
George
Бекап чем делать будете ?
Ahmed
Ну думал примитивным методом через крону или есть лучше варианты?
George
init.sql рекомендую "запечь" в образ и версионировать его
Ahmed
Нет, я не про крон. Технологически. pg_backup?
pg_backup вставил из примера просто
Vadim
Привет. Решаем, собирать ли софт в отдельной среде и потом добавлять собранное в образ, или прямо в докерфайле написать make install. Что про это можно почитать?
George
1. Собираем все пакеты из исходников и далее checkinstall , т.е. результатом make install является deb пакет 2. Далее на вторую стадию передаём deb и устанавливаем
George
Профит в том, что в итоговом образе нет всего лишнего для компиляции и сборки. А ещё deb по идее можно установить и без докера
Vadim
Разумно. Но не лучше ли тогда этот deb собрать отдельно и положить в репозиторий? (У нас есть свой deb-репозиторий.)
George
Это идеальный вариант, но иногда бывает overkill'ом и пайплайн становится сложнек
Vadim
И усложняет локальную сборку, да. Спасибо, будем думать, про multi-stage я и забыл.
LEXASOFT
У flant про dapp есть видео
Serhii
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
У flant про dapp есть видео
Никто не будет использовать этот велосипед
George
Э?
Felix
и правильно. зачем тараканам доверять?)
Антон
Ребята, хэлп! Не могу разобраться. Есть docker-compose.yml, первый контейнер создается на базе моего образа и скачивается с Docker Hub, в нем лежит конфиг Nginx который я хочу скопировать в контейнер с Nginx. Можно ли это сделать?
Антон
Антон
Ответ - да
Законономерный вопрос - как?
George
И я ещё могу сказать почему этот докер компоуз плохой
George
Законономерный вопрос - как?
Берете и делаете. Из компоуза это неясно, но это операция тривиальная
George
Как вариант - пошарьте вольюм между несколькими контейнерами
George
Первый стартует и его заполняет, второй просто читает как конфиг
Антон
И я ещё могу сказать почему этот докер компоуз плохой
Рассмотрю любую конструктивную критику. За этим собственно я здесь
George
1. Используйте версию файла 2.* 2. Нет хелсчеков. 3. Приложуха стартует сразу, как стартовал постгрес. Пофиг живой он или нет. См. П.2. добавьте хелсчек на постгрес и флаг на старт первого контейнера, когда постгрес хелзи, а не started
George
4. Вопросы по конфигу nginx. Точно достаточно одного конфига? Про заполнение конфига я высказался
George
И есть ещё классный совет на
Антон
Первый стартует и его заполняет, второй просто читает как конфиг
Если не сложно: можно небольшой пример. Я с пару дней как пробую деплой на Докере.
George
https://hub.docker.com/_/nginx
George
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
George
5. Конфигурации - лучше через переменные окружения передавать
George
6. nginx стартует ТОЛЬКО, если поднялся сервисный контейнер. Это как бы совсем не круто.
George
Т.к. вы даже ошибку не увидите, если сервис сдох. Лучше, чтобы nginx молотил всегда, но есть нюанс. Пока контейнер с Вашим сервисом не стартанет, его днс имя не существует. А раз так, то nginx не пройдет проверку конфигурации. Ну, поняли надеюсь, что это все не очень для прода
George
Для локальной разработки = ок
Антон
6. nginx стартует ТОЛЬКО, если поднялся сервисный контейнер. Это как бы совсем не круто.
К советам по оптимизации и best practices я обязательно вернусь когда будет понятна базовая логика работы.
George
Возвращаясь к конфигурации - пошарить вольюмом между обоими контейнерами ?
George
Или воспользоваться советом с временным контейнером из документации nginx, но адаптировать под свой кейс ?
George
И вообще откуда задача заполнения конфигурации из существующего докер образа взялась ?!
Антон
Для локальной разработки = ок
Именно для этого и используется.
Антон
И вообще откуда задача заполнения конфигурации из существующего докер образа взялась ?!
Из головы. ☺ Я на Докер хаб настроил автобилд и связал с гитхабом. Удобно когда пушишь изменения в приложении, запускается билд образа. И на серваке будет юзаться последняя версия образа при деплое.
George
Если nginx отдельным контейнером ?
Антон
И в приложухе сразу последняя версия nginx конфига? А зачем она там ?
Да там конфиг по сути на хер не нужен. Я ищу способ обойтись одним файлом docker-compose
George
Да там конфиг по сути на хер не нужен. Я ищу способ обойтись одним файлом docker-compose
Ну, смотрите. Вы правильно сказали, что можно в том же пайплайне собрать образ под свою приложуху myservice_image и в нем же образ для my_nginx, который будет состоять из базового nginx + Ваш конфиг
George
Это удобно для продакшн. Но для разработки часто возникает задача подтюнить конфигурации на лету, без пересборки образов. И тут удобны вольюмы
George
Через них можно переопределить целые каталоги, которые уже есть внутри образа контейнера и подсунуть свои версии файлов
Антон
Это удобно для продакшн. Но для разработки часто возникает задача подтюнить конфигурации на лету, без пересборки образов. И тут удобны вольюмы
Можно считать мой домашний сервер аналогом прода. Хочу максимально автоматизировать процесс деплоя.
Антон
Через них можно переопределить целые каталоги, которые уже есть внутри образа контейнера и подсунуть свои версии файлов
Можно пожалуйста небольшой пример как создать вольюм и засунуть в него конфиг из образа?
Антон
Тогда мое соображение выше касательно собственного образа nginx
Я просто жёсткий минималист. По моему мнению жирно создавать отдельный образ который от базового будет отличаться лишь десятком строк конфига, который менять в принципе не планируется.
Mykyta
Через них можно переопределить целые каталоги, которые уже есть внутри образа контейнера и подсунуть свои версии файлов
Ой не, если говорить про боевые условия, все должно проходить через гит, ревью и проходить через энвы до прода, вот это начало конца, вот прям честно
Mykyta
Единственно верное решение засовывать конфиг на этапе сборки, все :)
George
Можно пожалуйста небольшой пример как создать вольюм и засунуть в него конфиг из образа?
Выше пример из документации nginx. Легко адаптировать под себя
Антон
Mykyta
Что имеется ввиду под этапом сборки? Dockerfile?
Докерфайл не совсем корректно, имеджа