🥷 Добро пожаловать на канал Docker Ninja! 🥷
Как известно, путь в тысячу ли начинается с одного шага. Поэтому не теряй времени и скорее подписывайся на канал. Здесь мы, ежедневно совершаем небольшой, но значительный шаг на бесконечном пути к мастерству владения Docker!
Каждый пост — это меткий бросок в мир контейнеризации. Здесь ты найдешь короткие, но ёмкие заметки о Docker, Dockerfile и docker compose.
Присоединяйтеся, чтобы стать мастером Docker и владеть инструментами контейнеризации так же виртуозно, как ниндзя владеет своим мечом! ⚔️
Осс!🧘♂️
Как известно, путь в тысячу ли начинается с одного шага. Поэтому не теряй времени и скорее подписывайся на канал. Здесь мы, ежедневно совершаем небольшой, но значительный шаг на бесконечном пути к мастерству владения Docker!
Каждый пост — это меткий бросок в мир контейнеризации. Здесь ты найдешь короткие, но ёмкие заметки о Docker, Dockerfile и docker compose.
Присоединяйтеся, чтобы стать мастером Docker и владеть инструментами контейнеризации так же виртуозно, как ниндзя владеет своим мечом! ⚔️
Осс!🧘♂️
👍3
🆘 Save our nerds 🆘
Во время разработки своего Docker образа частенько приходится вносить какие-либо изменения. Но, проблема в том, что каждый раз пересобирать новый образ из докерфайла довольно накладно.
Эту проблему давно решили с помощью следующей команды:
Во время разработки своего Docker образа частенько приходится вносить какие-либо изменения. Но, проблема в том, что каждый раз пересобирать новый образ из докерфайла довольно накладно.
Эту проблему давно решили с помощью следующей команды:
docker commit <container_id> <new_image_name>
commit позволяет зафиксировать состояние контейнера и создать новый образ на его основе и, конечно же, активно использовать этот образ дальше.🧹Сжигаем мосты 🧹
Не смотря на то, что докер это синоним минимализма, со временем, если не удалять старые образы, дисковое пространство закончится. Особенно часто такое происходит на билд-агентах.
Конечно же, существует команда удаления образов и прочих Docker абстракций. Но использовать их, когда на вашем билд агенте будет 100+ неиспользуемых образов, не самая лучшая идея. И как всегда, на помощь, приходит очередная команда, которую уже давно придумали для нас, но никому не сказали.
Используйте команду:
Она освободит место на диске, удалив неиспользуемые контейнеры, образы, сети и даже тома.
Используем с осторожностью, эта команда удалит все данные без возможности восстановления!
Не смотря на то, что докер это синоним минимализма, со временем, если не удалять старые образы, дисковое пространство закончится. Особенно часто такое происходит на билд-агентах.
Конечно же, существует команда удаления образов и прочих Docker абстракций. Но использовать их, когда на вашем билд агенте будет 100+ неиспользуемых образов, не самая лучшая идея. И как всегда, на помощь, приходит очередная команда, которую уже давно придумали для нас, но никому не сказали.
Используйте команду:
docker system prune
Она освободит место на диске, удалив неиспользуемые контейнеры, образы, сети и даже тома.
Используем с осторожностью, эта команда удалит все данные без возможности восстановления!
👍3
🍰 Культурный слой контейнера 🍰
Знаете ли вы, что Docker использует технологию Layered File System? Это позволяет эффективно использовать дисковое пространство, так как общие слои между образами не дублируются. Каждый новый образ добавляет лишь измененные слои.
Вы всегда можете просмотреть из каких слоев состоит ваш образ, используя команду:
Это полезно для анализа и оптимизации ваших образов, так как вы можете увидеть, какие команды были выполнены на каждом слое.
Знаете ли вы, что Docker использует технологию Layered File System? Это позволяет эффективно использовать дисковое пространство, так как общие слои между образами не дублируются. Каждый новый образ добавляет лишь измененные слои.
Вы всегда можете просмотреть из каких слоев состоит ваш образ, используя команду:
docker image history <image>
Это полезно для анализа и оптимизации ваших образов, так как вы можете увидеть, какие команды были выполнены на каждом слое.
👍2
🕶 My name is Container - Docker Container 🕶
Представьте, вы идеально подготовили контейнерную инфраструктуру, продумали все нюансы и детали и успешно запустили все нужные контейнеры. Освободившееся от рутины время вы решили посвятить, конечно же, самообразованию. И тут, какой-то индийский черт дернул вас за пятку прочитать статью про лучшие практики наименования контейнеров...
Конечно же, это задело вас за живое и теперь вам срочно надо переименовать все контейнеры! Но, неужели придется все стопать и поднимать заново?!?
А вот и нет! Docker и тут дает нам шанс финтануть ушами перед коллегами.🦻🏻
Используйте команду
Пример:
Представьте, вы идеально подготовили контейнерную инфраструктуру, продумали все нюансы и детали и успешно запустили все нужные контейнеры. Освободившееся от рутины время вы решили посвятить, конечно же, самообразованию. И тут, какой-то индийский черт дернул вас за пятку прочитать статью про лучшие практики наименования контейнеров...
Конечно же, это задело вас за живое и теперь вам срочно надо переименовать все контейнеры! Но, неужели придется все стопать и поднимать заново?!?
А вот и нет! Docker и тут дает нам шанс финтануть ушами перед коллегами.🦻🏻
Используйте команду
docker rename для изменения имени контейнера.Пример:
docker rename old_name new_nameЭто поможет вам легко управлять контейнерами и поддерживать их в порядке.
👍3
👮🏼♀️ Всем спокойно, СанЭпид станция👮🏼♀️
Один из механизмов, который помогает Docker изолировать контейнеры от хост-системы и других контейнеров называется cgroups. Cgroups управляют ресурсами, такими как CPU и память, чтобы предотвратить их перерасход.
Проверить конфигурацию cgroups для контейнера можно с помощью команды:
Она поможет вам понять, как ресурсы распределяются между контейнерами и оптимизировать их работу.
Один из механизмов, который помогает Docker изолировать контейнеры от хост-системы и других контейнеров называется cgroups. Cgroups управляют ресурсами, такими как CPU и память, чтобы предотвратить их перерасход.
Проверить конфигурацию cgroups для контейнера можно с помощью команды:
docker inspect <container_id>
Она поможет вам понять, как ресурсы распределяются между контейнерами и оптимизировать их работу.
🏃🏽 Беги, Форрест 🏃🏽
Без всяких докерфайлов и компоузов. Пришел, увидел, запустил - и все работает!!! Команда
Пример использования:
Этот пример запускает контейнер сNginx forrest_not_container в фоновом режиме и не пробрасывает никакой порт, потому что в фильме Форрест Гамп никаких портов не было😵💫.
Без всяких докерфайлов и компоузов. Пришел, увидел, запустил - и все работает!!! Команда
docker run это не стареющая классика, как и отсылка к фильму в названии поста. А полезна она для быстрого развертывания и тестирования различных приложений.Пример использования:
docker run forrest_not_container
Этот пример запускает контейнер с
👍4❤2
🪖 Sir, yes, sir! 🪖
Какая главная задача у Docker контейнера? Запускать изолированные друг от друга приложения! И в данной задаче нам хорошо может помочь инструкция
Пример использования
Команда CMD может быть переопределена при запуске контейнера с помощью флага
Какая главная задача у Docker контейнера? Запускать изолированные друг от друга приложения! И в данной задаче нам хорошо может помочь инструкция
CMD в Dockerfile. Она используется для определения команды, которая будет выполнена по умолчанию при запуске контейнера? Это позволяет задать начальную команду или скрипт.Пример использования
CMD:FROM ubuntu:latest
CMD ["echo", "Hello, Docker!"]
Команда CMD может быть переопределена при запуске контейнера с помощью флага
--command. Это полезно для гибкого управления поведением контейнера. Например, когда мы хотим передать какие-либо опции для нашего приложения.👍1
