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 […]
Commit – быстрое создание своего образа
Commit – быстрое создание своего образа Иногда для простой работы с докерами достаточно произвести изменения в интерактивном режиме и “сохранить” эти изменения. Использование Dockerfile или volumes в этом случае м.б. не оправдано, для этого можно внести изменения и “закоммитить” его как обычный git проект. Минус ланного подхода в большем числе слоев и большем объеме docker […]
Link соединение контейнеров (устарело)
Соединение контейнеров Для работы некоторых контейнеров бывает необходима дополнительная инфраструктура, которая может меняться, например для работы приложения adminer (позволяет администрировать базы данных SQL) необходима база данных, которая м.б. сделана на основе другого докер-контейнера и не обязана мыть mysql – она м.б. любой, например mariadb. Рассмотрим как соединить 2 контейнера: 1-Создаем контейнер с mariadb (даем ему […]
2. Переменные среды (Environment variables)
Переменные среды (Environment variables) Данная коротенькая статья выделена в отдельную тему т.к. напрямую не требуется для запуска docker контейнера, но при этом функционал переменных среды весьма полезен. export TestVar=1 #создаем переменную среды TestVar, равную 1 env #эта команда в linux показывает все переменные среды В […]
1. Команды docker
Команды docker Все команды docker надо выполнять от root пользователя или через sudo Через символ #написан комментарий Проверка статуса докера и контейнеров: sudo service docker status #статус службы докера (смотрим запущен ли докер) docker ps #покажет запущенные докер-контейнеры docker […]
0. Введение в Docker, установка
Что такое Docker Docker – это система контейнеризации пользовательских приложений, по сути она позволяет «абстрагировать» ваше приложение/сервис от основной системы, подключить лишь требуемые вашему приложению библиотеки и зависимости, и запускать этот контейнер. В чем плюсы: 1-Вы не зависите от окружения и ситуаций с конфликтами библиотек (когда 2м приложениям требуются разные версии библиотек). 2-Быстрое создание микросервисной […]
