Нужен специалист по docker
1274 UAHБюджет обсуждаемый.
Нужна следующая инфраструктура контейнеров докера, собранная в docker-compose
* Докер будет работать на сервере с 4гб ОЗУ, контейнеры должны быть с балансированы и максимально эффективно использовать ресурсы сервера.
* Все контейнера собирать на базе контейнера alpine
* Все контейнера которые будут работать с файловой системой должны работать под одним и тем же пользователем и кодом групы например 1000:1000 или app-admin:app-admin, это нужно для того что бы не возникало ошибок с доступом к файлам из разных контейнеров.
* Файлы конфига основных процессов контейнера (nginx, pph-fpm, mysql и тд...) нужно вынести наружу через volumes, что бы после изменения конфига не нужно было пересобирать контейнер.
* Синхронизовать время и локацию для всех контейнеров на Москву.
* Так же вынести из контейнеров логи
* В настройках контейнеров не должно быть полных путей, только относительные от корня папки проекта
- Контейнер с nginx, оптимизировать настройки nginx, выводить логи.
- Контейнер с php-fpm для продакшена, оптимизировать настройки php-fpm,
включить opcache, soap,
контейнер будет работать с фреймворком Laravel, нужно установить все пакеты для корректной работы этого фреймворка,
также установить пакеты для работы и xml и изображениями
выводить логи.
- Контейнер с php-fpm для дева, все по аналогии с контейнером для продакшена только выключить opcache, и настроить xdebug для отладки php. По умолчанию этот контейнер не должен включаться на продакшене. Поднятие только в ручном режиме. Выводить логи.
- Контейнер с БД mysql последняя стабильная версия. Оптимизировать настройки, выводить логи.
- Контейнер для разработки, в контейнере будут запускаться консольные скрипты, unit тесты, собираться css и js зависимости. В контейнере нужно поднять
php-cli,
пакеты для работы с mysql, xml, изображениями, xdebug, php-unit,
предустановить composer.
nodejs, npm
предустановить gulp, webpack, node-sass
- Контейнер для автоматического обновления letsencrypt сертификатов.
- (В правильности этого пункта я не уверен) Контейнер с nginx который будет проксировать контейнер letsencrypt и основной nginx.
- Контейнер с supervisor. Supervisor поднимает крон и имеет прокинутую папку через volumes для добавления быстрых конфигов для разных приложений.
(Я не уверен как правильно поднимать этот контейнер так как в нем нужно поднять окружения для корректной работы laravel, php-cli, а также nodejs)
Примерная структура
root
- docker-compose.yml
- src (в этой директории будут хранится все приложения)
- conteiner-logs (директория для логов)
- container-data - тут храним данные которые нужно сохранять когда контейнеры вырубаются, например данные mysql.
- docker-config (директория с конфигами для докер контейнеров, каждый контейнер должен быть в отдельной папке)
-- container_name
--- dockerfile
--- configs.ext
Если вы видите что какой-то из пунктов не целесообразен пожалуйста сообщите это нам.
-
126 1 0 Привіт!
Потрібно уточнити кілька моментів, але взагальному - все ок
-
136 привет,
после обсуждения, готов реализовать ваш проект, есть большой опыт работы с докером.
телеграм: @Vlad_Zolotous
почта: [email protected]
-
Supervisor и cron не нужны, для Laravel внутри контейнера их можно заменить парой строчек баш скрипта.
Логи никуда выносить не стоит, лучше писать в stdout, в докере так принято, их оттуда смогут забирать утилиты мониторинга.
Конфиги тоже лучше не выносить, теряется самодостаточность контейнера. Лучше пересобирать образ при изменении конфига, это можно делать с помощью CI/CD, и это будет гарантировать целостность образа, что на него ничего не влияет извне. Часто изменяемые настройки можно вынести в env variables.
Так же не стоит собирать внутри одного контейнера несколько компонентов, или делать контейнер общим для нескольких приложений, это противоречит философии докера. Один контейнер - один компонент одного приложения, следовательно папка src не нужна.
composer, npm, webpack лучше в кортейнер вообще не пихать, даже для разработки. Как показала практика, это неудобно. Для разработки лучше сделать пустой контейнер с php, и подмонтировать код приложения как volume, а composer и npm при разработке использовать вне докера.
-
Актуальні фриланс-проєкти в категорії Адміністрування систем та мереж
Аудит та побудова захищеної інфраструктури для відправки BTC-транзакцій
27 000 UAH
Шукаємо інженера з безпеки Bitcoin для двох завдань: (1) аудит поточної системи генерації гаманців та відправки BTC з виявленням вразливостей; (2) проектування та побудова нової захищеної інфраструктури для зберігання ключів та відправки транзакцій.Частина 1 — Аудит поточної… Адміністрування систем та мереж, Криптовалюта та blockchain ∙ 1 день 17 годин тому ∙ 6 ставок |
Консультація по веденню ФОППотрібна детальна інструкція та консультація , як правильно працювати з ФОПом, новою поштою, nova pay і вчасно каса Адміністрування систем та мереж ∙ 2 дні тому ∙ 2 ставки |
Виправити проблему неповного імпорту даних з Excel-файлів специфікацій Нової Пошти в 1С:
2000 UAH
Мета: Є обробка в 1С по завантаженню специфікації Нової Пошти. З незрозумілих причин перестало підгружати деякі табличні дані. Потрібно знайти причину і усунути проблему неповного імпорту даних з Excel-файлів специфікацій Нової Пошти в 1С: Малий Бізнес. Поточний стан: В 1С… Адміністрування систем та мереж, Бази даних та SQL ∙ 4 дні 20 годин тому ∙ 16 ставок |
Налаштування FortinetДоброго дня! Потрібно налаштувати Fortinet FortiGate 40F-3G4G. Зробити віддалений доступ до ПЛК. Досвід роботи. Дякую! Адміністрування систем та мереж, Налаштування ПЗ та серверів ∙ 6 днів тому ∙ 5 ставок |
Міграція Windows Server 2016.Потрібен системний адміністратор для налаштування та міграції Windows Server 2016. Завдання: 1. Провести аудит поточного Windows Server 2016. 2. Перевірити ролі сервера: RDP/RDS, користувачі, права доступу, мережеві налаштування, брандмауер, резервне копіювання. 3. Підготувати… Адміністрування систем та мереж, Налаштування ПЗ та серверів ∙ 7 днів 22 години тому ∙ 12 ставок |