Рубрики
Uncategorized

Docker Concepts Cheatsheet

Это теория-чистая таблица, которая дополняет Docker Commands Cheatshets. Я нахожу такую туда … С тегом Docker, DevOps, Asciiart, CheatSheet.

Это теория-чистая таблица, которая дополняет Docker Commands Cheatshets. Я считаю, что такая концепция повторяет время от времени, когда мне нужно пересмотреть фундаментальные концепции.

Я начну со следующего изображения, которое показывает основной рабочий процесс в Docker.

[pull]->(image)->[run]->(container)
          ↑                 ↑    ↑
          |                 |     \
        [build]            bash   [mount]
          |                 |        \    
      (Dockerfile)        [exec]   (volume)                

Он показывает ключевые элементы в докере

  1. изображение
  2. Dockerfile ***
  3. контейнер
  4. тома

… и возможно

  1. docker-compose.yml ***

*** Встреча от экосистемы, но может не обсуждаться в этом руководстве

‏‏‎ ‎ Диаграмма объясняет порядок работы как:

  1. Вы можете либо потянуть Изображение в вашей локальной машине (остается в /var/lib/docker/overlay2 по умолчанию)
  2. Или вы можете сборка а Изображение Из Dockerfile
  3. Вы можете запустить Изображение к старт вверх а контейнер

    1. Контейнеры могут быть рассчитаны как бегущие экземпляры изображения; где изображение является исполняемым, а контейнер — это процесс. (Н.Б. Это не точное определение, потому что контейнер потенциально может быть набором нескольких процессов.)
    2. См. 4.1 позже
    3. На этапе разработки изображения Docker это хорошая идея, чтобы запустить, используя флаг
  4. И ты можешь выполнить Различные команды в запуске контейнеров, такие как Bash

    1. Вы можете одновременно запускать и выполнять команды, что вызывает путаницу между использованием бежать и exec команды
  5. Поскольку контейнеры — это процессы, и все теряется, когда контейнер остановлен, вы можете использовать Тома как среднее постоянное хранилище.

    1. Тома могут быть созданы, а затем монтируется в контейнеры
    2. Или создание и монтаж объема также можно сделать в одной команде
  1. Обрезка
    1. Поскольку все эти сущности в некоторой степени подключены по умолчанию, остановка его не удаляет связанные артефакты. для которого вы можете использовать Docker System Clrune Команда удалить ресурсы, которые больше не нужны.
    2. Docker System Prune -a -Volumes Сделай удобный, чтобы чистить что -то время от времени

      1. Вы можете использовать Docker System Prune -af -Volumes Если вы не хотите, чтобы вас потре
    3. Время от времени вы осознаете, что объемы Docker будут обращаться специально, это связано с тем, что объемы рассматриваются как стойкие, разрушать и управлять ими, это должно потребовать большего внимания разработчику. ‏‏‎ ‎ ‏‏‎ ‎
  2. Остановка/удаление

    1. Все, что есть Бег Сначала нужно остановить, т.е. контейнеры.

      1. Docker Stop My_container
        1. Это все еще не означает, что контейнер был удален, однако, он просто приостановился от выполнения
      2. Docker RM my_container Чтобы удалить контейнер
    2. Чтобы удалить изображение do Docker Image RM или Docker RMI
    3. Чтобы удалить объем do Том Docker Rm

      1. Объем не может быть удален, если он будет установлен в контейнер, в этих случаях вы получите подсказку в то время как удаление как

‏‏‎ ‎

‏‏‎ ‎

  1. Docker PS Чтобы перечислить все работающие контейнеры

    1. Docker ps -a Покажите все контейнеры (показывает по умолчанию только запуск)
  2. Docker Image LS Список изображений

    1. Docker Image ls -a Показать все изображения (по умолчанию скрывает промежуточные изображения)
  3. объем докера ls перечисляет все объемы
  4. Просмотр вещей может быть удобной, когда вы хотите увидеть разные атрибуты определенной сущности
    1. Docker Container осмотрите
    2. Docker Image Inspect
    3. Обследование тома Docker

еще не все…

Я буду продолжать улучшать эту статью и могу добавить больше статей для этой серии, если я получу больше ответов. Например,

  • Анатомия Dockerfile
  • Анатомия Docker-Compose
  • Основные сценарии Bash для разработки на основе Docker
  • Как эффективно управлять объемами
  • Лучшие практики Docker Monorepo

… и более

Фон

Несколько лет назад, когда я начал работать над контейнерами Docker; Когда Ларавел был в полном разгаре, я не знал, с чего начать.

Я был программистом для новичка полного стека, и я знал только немного CI/CD; и никогда не работал в проекте, который имеет строгие требования рабочего процесса.

Я продолжал собирать свои знания и всегда отмечал свое понимание когда -нибудь поделиться, чтобы люди, начинающие докер, легко понять.

У вас есть конкретная вещь, которая смущает вас в Docker? или что -то, что вы хотите, чтобы я добавил здесь? Давайте поговорим об этом в комментариях Анкет

Оригинал: «https://dev.to/kaziridwan/abcs-of-docker-gdf»