Нужен специалист по docker
123 PLNБюджет обсуждаемый.
Нужна следующая инфраструктура контейнеров докера, собранная в 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 при разработке использовать вне докера.
-
Aktualne zlecenia dla freelancerów w kategorii Administracja systemem i siecią
Usunąć problem niepełnego importu danych z plików Excel specyfikacji Nowej Poczty do 1C:
164 PLN
Cel: Istnieje przetwarzanie w 1C dotyczące ładowania specyfikacji Nowej Poczty. Z nieznanych powodów przestało ładować niektóre dane tabelaryczne. Należy znaleźć przyczynę i usunąć problem niepełnego importu danych z plików Excel specyfikacji Nowej Poczty do 1C: Mały Biznes.… Administracja systemem i siecią, Bazy danych i SQL ∙ 2 dni 2 godziny temu ∙ 16 ofert |
Konfiguracja FortinetDzień dobry! Trzeba skonfigurować Fortinet FortiGate 40F-3G4G. Umożliwić zdalny dostęp do PLC. Doświadczenie zawodowe. Dziękuję! Administracja systemem i siecią, Konfigurowanie oprogramowania i serwerów ∙ 3 dni 6 godzin temu ∙ 5 ofert |
Migracja Windows Server 2016.Potrzebny administrator systemu do konfiguracji i migracji Windows Server 2016. Zadanie: 1. Przeprowadzić audyt obecnego Windows Server 2016. 2. Sprawdzić role serwera: RDP/RDS, użytkownicy, prawa dostępu, ustawienia sieciowe, zapora, kopia zapasowa. 3. Przygotować plan… Administracja systemem i siecią, Konfigurowanie oprogramowania i serwerów ∙ 5 dni 4 godziny temu ∙ 12 ofert |
Podłączenie profesjonalnych skanerów książek w m. OdessaPodłączyć profesjonalne skanery książek (2 szt.) w 2 lokalizacjach w m. Odessa Wykonanie montażu zgodnie z instrukcją, podłączenie i konfiguracja oprogramowania, w tym testowe skanowanie do pliku z programu na PC. Administracja systemem i siecią, Konfigurowanie oprogramowania i serwerów ∙ 5 dni 5 godzin temu ∙ 2 oferty |
Podłączenie profesjonalnych skanerów książek.Podłączyć profesjonalne skanery książkowe (2 szt.) w 2 lokalizacjach w Kijowie. Wykonanie montażu zgodnie z instrukcją, podłączenie i konfiguracja oprogramowania, w tym testowe skanowanie do pliku z programu na komputerze. Administracja systemem i siecią ∙ 6 dni 20 godzin temu ∙ 1 oferta |