7. Docker Compose — автозапуск контейнеров
Docker Compose — автозапуск контейнеров Docker Compose По сути это система с файлом скрипта для запуска контейнеров пишется на языке yaml установка docker compose https://docs.docker.com/compose/install/linux/ В случае с docker compose действуют как обычные команды для контейнеров, так и специальные для docker compose. проверка версии docker-compose — -version //для старых версий или docker compose — -version […]
6. Ошибки при написании dockerfile
Основные ошибки при написании dockerfile -нельзя записывать каждую команду в инструкцию каждая инструкция создает отдельный слой -> растет образ оптимально так RUN apt-get clean RUN apt-get update RUN apt-get install app1 app2 -y а еще лучше так RUN apt-get clean && \ apt-get update && \ apt-get install app1 app2 -y -рекомендуется удалять лишний cache […]
5. Сборка образа из dockerfile
Сборка образа из dockerfile Для сборки собственных образов используются рецепты-инструкции, описываемые в dockerfile сборка образа из dockerfile docker build ./ Будет создан образбез имени и тега, только с ID изменить это можно после создания добавив docker tag ID ImageName:Version сборка образа из dockerfile с именем и версией docker build -t ImageName:Version ./ Основные команды dockerfile […]
4. Сети/networks в докере
Сети/networks в докере статья писалась на основе видео от RomNero https://www.youtube.com/@RomNero изображения в данной счтатье являются скриншотами из видео. Bridge – мост между локальным сервером и сетью интернет Host – сеть для локального сервера, доступ через интернет возможен через ip адрес сервера None – изолированные контейнеры без сети (удобно для проверки и отладки контейнеров) […]
3. Docker volumes — Сохранение данных
Docker volumes — Сохранение данных Как известно контейнер не сохраняет данные между запусками, поэтому для сохранения данных в docker используется система как в virtual box — создаются/используются внешние разделы/папки/хранилища которые обзываются volumes Ниже распишем основные команды для работы с volumes. Посмотреть тома docker volume ls Различные типы томов host volumes docker run -v PathOnServer:PathInDocker container_name […]
6. GitLab CICD и embedded
GitLab CICD и embedded Настроить систему проверки и развертывания для встраиваемых систем достаточно сложно в виду «нестандартной проверки» аппаратных средств. Здесь я поделюсь своими мыслями на этот счет: 1-для embedded linux в принципе не столь сложно написать unit и intergation тесты т.к. большая часть ПО представляет собой те или иные микросервисы, зачастую не связанные с […]
5. Настройка файла gitlab-ci.yml
Настройка файла gitlab-ci.yml переходим в pipeline editor будет создан шаблон файла .gitlab-ci.yml перепишем его под нужды нашего проекта, попутно добавив пару упрощений т.к. в этом файле крайне важны отступы (табуляция) то файл представлен в виде отдельного документа (Pipeline.txt) в проекте на github Рассмотрим основные моменты: Комментарии — пишутся как в bash через символ # Вывод […]
4. Установка GitLab Runner
Установка GitLab Runner Делаем операции на сервере с gitlab в командной строке Настройка репозитория Debian / Ubuntu: curl -L «https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh» | sudo bash Установка раннера Debian / Ubuntu: sudo apt install gitlab-runner после установки запускаем службу Запуск службы: sudo systemctl enable gitlab-runner —now gitlab-runner переходим в web сервис gitlab в папке с проектом выбираем Settings→CI/CD→Runners→Expand […]
3. GitLab CICD первый проект
GitLab CICD первый проект Разделяется два процесса — CI (Continuous Integration) и CD (Continuous Delivery) Представляет собой автоматизированный процесс от разработки и тестов до разворачивания в продакшн CI — практика разработки программного обеспечения, выполнение сборок, выявление дефектов и решение проблем CD — подход к разработке программного обеспечения, передача стабильного ПО в эксплуатацию Runner — ПО, […]
2. Установка gitlab
Установка gitlab Данные команды подходят для установки gitlab на сервер с ubuntu/debian минимальные требования: 2 ядра 2ГБ оперативной памяти (придется добавлять подкачку т.к. при старте потребление оперативки больше, при работе около 1,8ГБ), желательно 4+ГБ ~10-15ГБ оперативной памяти (дистрибутив + ~5ГБ на gitlab) Обновляем и устанавливаем зависимости sudo apt-get update sudo apt-get install -y curl openssh-server […]