Рубрики
Uncategorized

30 Вопросы собеседования Докера к Интервью Ace DEVOPS

30 Вопросы собеседования Докера к Интервью Ace Devops. Теги с DevOps, Docker, FullStack, карьерой.

С существенным ростом прогнозируются на рынок контейнеров приложений (с 762 млн. Долл. США в 2016 году до 2,7 млрд. Долл. США к 2020 году, согласно 451 годам, согласно 451 годам), спрос на навыки контейнеров на высоте. Инженеры программного обеспечения, информационные архитекторы и инженеры DEVOPS с докером находятся в серьезном уровне.

🔴 Первоначально опубликовано на Полный. CAFE — Убей свое технологическое и кодирование собеседования

Q1: Что такое необходимость в devops?

Тема: Дежол Сложность: ⭐.

В настоящее время вместо того, чтобы выпустить большие наборы функций, компании пытаются посмотреть, могут ли небольшие функции можно перевезти к своим клиентам через серию поездов выпуска. Это имеет много преимуществ, таких как быстрый обратную связь от клиентов, лучшее качество программного обеспечения и т. Д., Что, в свою очередь, приводит к высокой удовлетворенности клиентов. Для достижения этого компании обязаны:

  1. Увеличение частоты развертывания
  2. Нижняя частота отказов новых выпусков
  3. Сокращенное время проведения между исправлениями
  4. Быстрее означает время восстановления в случае сбоев нового выпуска

DevOps выполняет все эти требования и помогает в достижении бесшовной доставки программного обеспечения.

🔗 Источник: edureka.co

Q2: Что такое Docker?

Тема: Докер Сложность: ⭐.

  • Docker — это платформа контейнеризации, которая упаковывает ваше приложение и все его зависимости в форме контейнеров, чтобы гарантировать, что ваше приложение не работает в любой среде, будь то разработка или тест или производство.
  • Контейнеры Docker, оберните кусок программного обеспечения в полной файловой системе, которая содержит все необходимое для запуска: кода, время выполнения, системные инструменты, системные библиотеки и т. Д. Что-то, что можно установить на сервере.
  • Это гарантирует, что программное обеспечение всегда будет работать то же самое, независимо от его окружающей среды.

🔗 Источник: edureka.co

Q3.: Каковы преимущества DevOps?

Тема: Дежол Сложность: ⭐⭐.

Технические льготы:

  • Непрерывная доставка программного обеспечения
  • Менее сложные проблемы, чтобы исправить
  • Быстрое разрешение проблем

Деловые преимущества:

  • Быстрое доставку функций
  • Более стабильные рабочие условия
  • Больше времени доступно для добавления значения (а не исправить/поддерживать)

🔗 Источник: edureka.co

Q4: Какая функция сервера CI (непрерывной интеграции)?

Тема: Дежол Сложность: ⭐⭐.

Функция CI Server — это постоянно интегрировать все изменения, выполненные и приверженные для хранилища разных разработчиков и проверьте наличие ошибок компиляции. Он должен построить код несколько раз в день, желательно после каждого коммита, чтобы он мог обнаружить, что совершил прерывание, если бы преломт прерывание.

🔗 Источник: linoxide.com

Q5: Как создать окружающую среду-агностические системы с Docker?

Тема: Докер Сложность: ⭐⭐.

Есть три основных функция, помогающие достичь этого:

  • Тома
  • Переменная среды впрыска
  • Файловые системы только для чтения

🔗 Источник: rafalgolarz.com

Q6: В чем разница между копией и добавления команд в DockerFile?

Тема: Докер Сложность: ⭐⭐.

Хотя Добавить и Скопировать функционально похожи, вообще говоря, Скопировать является предпочтительным.

Это потому, что это более прозрачное, чем добавить. Копия поддерживает только основное копирование локальных файлов в контейнер, а добавление имеет некоторые функции (например, для добычи TAL TAR и удаленной URL), которые не являются сразу очевидными. Следовательно, наилучшее использование для добавления — это локальный файл TAR-файл в изображении, как в Add rootfs.tar.xz/.

🔗 Источник: stackoverflow.com

Q7: Что такое Docker Image?

Тема: Докер Сложность: ⭐⭐.

Docker Image является источником контейнера Docker. Другими словами, Docker Images используются для создания контейнеров. Изображения создаются с помощью команды сборки, и они будут создавать контейнер при запуске. Изображения хранятся в реестре Docker, например Registry.hub.docker.com Поскольку они могут стать довольно большими, изображения предназначены для состоят из слоев других изображений, что позволяет получить минимальное количество данных для отправки при передаче изображений через сеть.

🔗 Источник: edureka.co

Q8: Что такое Docker Container?

Тема: Докер Сложность: ⭐⭐.

Дочсерские контейнеры Включите приложение и все его зависимости, но разделяют ядро с другими контейнерами, работающие в качестве изолированных процессов в пространстве пользователя на хост-операционной системе. Контейнеры Docker не связаны с какой-либо конкретной инфраструктурой: они бегают на любом компьютере, на любой инфраструктуре, и в любом облаке.

🔗 Источник: edureka.co

Q9: Что такое Docker Hub?

Тема: Докер Сложность: ⭐⭐.

Docker Hub Облачная облачная служба реестра, которая позволяет ссылаться на репозитории кода, создать свои изображения и тестировать их, хранит вручную толкающие изображения и ссылки на Docker Cloud, чтобы вы могли развернуть изображения на ваши хосты. Он обеспечивает централизованный ресурс для раскрытия контейнеров, совместного управления, сотрудничества, пользователей и командной совместной работы и автоматизации рабочего процесса на всей территории разработки.

🔗 Источник: edureka.co

Q10: Каковы различные гласит, что контейнер докеров может быть в любой данной момент времени?

Тема: Докер Сложность: ⭐⭐.

Существует четыре государства, что контейнер докера может быть в любой данной момент времени. Эти государства указаны следующим образом:

  • Бег
  • Пауз
  • Перезапуск
  • Выходить

🔗 Источник: mindmajix.com

Q11: Есть ли способ определить статус контейнера Docker?

Тема: Докер Сложность: ⭐⭐.

Мы можем определить статус контейнера Docker, запустив команду

docker ps –a

Что будет в свою очередь, перечисляет все доступные контейнеры докеров с соответствующими статусами на хосте. Оттуда мы можем легко определить контейнер, чтобы проверить его состояние соответственно.

🔗 Источник: mindmajix.com

Q12: Какие наиболее распространенные инструкции в DockerFile?

Тема: Докер Сложность: ⭐⭐.

Некоторые из общих инструкций в DockerFile следующие:

  • От : Мы используем из для установки базового изображения для последующих инструкций. В каждом действующем доке DockerFile из — первая инструкция.
  • МЕТКА : Мы используем метку для организации наших изображений согласно проекту, модулю, лицензированию и т. Д. Мы также можем использовать метку, чтобы помочь в автоматизации. На этикетке мы указываем пару клавиша, которая может быть позже, используемая для программной обработки DockerFile.
  • ЗАПУСТИТЬ : Мы используем команду запуска, чтобы выполнить любые инструкции в новом слое сверху текущего изображения. С каждой командой запуска мы добавляем что-то сверху изображения и используем его в последующих шагах в DockerFile.
  • CMD : Мы используем команду CMD, чтобы обеспечить значения по умолчанию для выполняющегося контейнера. В DockerFile, если мы включаем несколько команд CMD, то используется только последняя команда.

🔗 Источник: knowledgepowerhouse.com

Q13: Какие виды приложений — без природных или состояний более подходят для контейнера Docker?

Тема: Докер Сложность: ⭐⭐.

Предпочтительно создавать приложение о безграждаемости для контейнера Docker. Мы можем создать контейнер из нашего приложения и вынуть настраиваемые параметры состояния из приложения. Теперь мы можем запустить тот же контейнер в производстве, а также в среду QA с разными параметрами. Это помогает повторно использовать то же изображение в разных сценариях. Также приложение без гражданства гораздо проще масштабируется с контейнерами Docker, чем закладное приложение.

🔗 Источник: mindmajix.com

Q14: Объясните базовый рабочий процесс использования Docker

Тема: Докер Сложность: ⭐⭐⭐.

  1. Все начинается с Dockerfile Отказ DockerFile является исходным кодом изображения.
  2. Как только DockerFile создан, вы создаете его, чтобы создать изображение контейнера. Изображение — это просто «собранная версия» «исходного кода», который является DockerFile.
  3. Как только у вас есть изображение контейнера, вы должны перераспределить его, используя Реестр Отказ Реестр похож на репозиторий Git — вы можете нажать и вытягивать изображения.
  4. Далее вы можете использовать изображение для запуска Контейнеры Отказ Бегущий контейнер очень похож, во многих аспектах, на виртуальную машину (но без гипервизора).
    +------------+  docker build   +--------------+  docker run -dt   +-----------+  docker exec -it   +------+
    | Dockerfile | --------------> |    Image     | --------------->  | Container | -----------------> | Bash |
    +------------+                 +--------------+                   +-----------+                    +------+
                                     ^
                                     | docker pull
                                     |
                                   +--------------+
                                   |   Registry   |
                                   +--------------+

🔗 Источник: stackoverflow.com

Q15: В чем разница между изображением докера и слоя?

Тема: Докер Сложность: ⭐⭐⭐.

  • Изображение : Докинское изображение создано из серии только для чтения слои
  • Слой : Каждый слой представляет инструкцию в DockerFile Image.

Приведенный ниже DockerFile содержит четыре команды, каждый из которых создает слой.

FROM ubuntu:15.04
COPY . /app
RUN make /app
CMD python /app/app.py

Важно отметить, что каждый слой является лишь набором различий от слоя до него.

🔗 Источник: stackoverflow.com

Q16: Что такое виртуализация?

Тема: Докер Сложность: ⭐⭐⭐.

В ее задуманной форме Виртуализация Был рассмотрен метод логически разделительной магистрали, чтобы позволить нескольким приложениям работать одновременно. Тем не менее, сценарий резко изменился, когда компании и сообщества с открытым исходным кодом смогли предоставить метод обработки привилегированных инструкций таким или другим способом или разрешить выполнять несколько операционных систем одновременно на одной системе на основе X86.

Чистый эффект состоит в том, что виртуализация позволяет запускать две совершенно разные ОС на одном оборудовании. Каждая гостевая ОС проходит весь процесс загрузки, загрузки ядра и т. Д. Например, вы можете иметь очень жесткую безопасность, например, Guest OS не может получить полный доступ к размещению Host OS или других гостей и беспорядок.

Метод виртуализации может быть классифицирован на основе того, как он имитирует оборудование для гостевой операционной системы и эмулирует экологическую среду. В первую очередь, есть три вида виртуализации:

  • Эмуляция
  • Паравиртоализация
  • Виртуализация на основе контейнеров

🔗 Источник: stackoverflow.com

Q17: Что такое гипервизор?

Тема: Докер Сложность: ⭐⭐⭐.

гипервизор Ручки создают виртуальную среду, на которой работают гостевые виртуальные машины. Он контролирует гостевые системы и гарантирует, что ресурсы выделены гостям по мере необходимости. Гипервизор сидит между физической машиной и виртуальными машинами и обеспечивает виртуализационные услуги виртуальным машинам. Чтобы реализовать его, он перехватывает операционные операционные операционные системы гостей на виртуальных машинах и эмулируют операцию на операционной системе хоста.

Быстрое развитие технологий виртуализации, в первую очередь в облаке, далее привело к использованию виртуализации, позволяя создавать несколько виртуальных серверов на одном физическом сервере с помощью гипервизоров, таких как Xen, VMware Player, KVM и т. Д., И и т. Д. Включение аппаратной поддержки в товарных процессорах, таких как Intel VT и AMD-V.

🔗 Источник: stackoverflow.com

Q18: Что такое Docker рой?

Тема: Докер Сложность: ⭐⭐⭐.

Докер Рой является родной кластеризацией для докера. Он включает в себя бассейн Docker Hosts в одном виртуальном хосте докера. Docker Swarm предлагает стандартную докер API, любой инструмент, который уже связывается с демоном Docker, может использовать рой в прозрачном масштабе для нескольких хостов.

🔗 Источник: edureka.co

Q19: Как вы будете следить за докером в производстве?

Тема: Докер Сложность: ⭐⭐⭐.

Docker предоставляет инструменты, такие как Docker Stats и Docker-события для мониторинга докера в производстве. Мы можем получить отчеты о важной статистике с этими командами.

  • Докерная статистика Когда мы призываем Docker Stats с идентификатором контейнера, мы получаем CPU, использование памяти и т. Д. Контейнера. Это похоже на максимальную команду в Linux.
  • События докера : События Docker — это команда, чтобы увидеть поток мероприятий, которые продолжаются в Docker Daemon.

Некоторые из общих событий докера: прикрепить, совершать, умереть, отсоединять, переименовать, уничтожать и т. Д. Мы также можем использовать различные варианты для ограничения или фильтрации событий, которые нас интересуют.

🔗 Источник: knowledgepowerhouse.com

Q20: Что такое силовый объем и как его удалить?

Тема: Докер Сложность: ⭐. ⭐⭐⭐.

Объем сирорта — это объем без прикрепленных к нему контейнеров. Prior Docker v. 1.9 Было очень проблематично удалить его.

🔗 Источник: rafalgolarz.com

Q21: Что такое паравирдуализация?

Тема: Докер Сложность: ⭐. ⭐⭐⭐.

Паравирдуализация , также известный как гипервизор типа 1 типа, работает непосредственно на аппаратном обеспечении или «голых металлов», а также предоставляет услуги виртуализации непосредственно на виртуальных машинах, работающих на нем. Это помогает операционной системе, виртуализированному аппаратному обеспечению и реальное оборудование для совместной работы для достижения оптимальной производительности. Эти гипервизоры обычно имеют довольно маленький след и не сами, сами, требуют обширных ресурсов.

Примеры в этой категории включают Xen, KVM и т. Д.

🔗 Источник: stackoverflow.com

Q22: Как Docker отличается от виртуальной машины?

Тема: Докер Сложность: ⭐. ⭐⭐⭐.

Docker не является методологией виртуализации. Это зависит от других инструментов, которые на самом деле реализуют Контейнерная виртуализация или виртуализация уровня операционной системы. Для этого Docker изначально использовал драйвер LXC, затем переехал в libcontainer который сейчас переименован как runc Отказ Докер в первую очередь фокусируется на автоматизации развертывания приложений внутри контейнеров приложений. Контейнеры приложений предназначены для упаковки и запуска одного сервиса, тогда как системные контейнеры предназначены для запуска нескольких процессов, таких как виртуальные машины. Таким образом, Docker рассматривается как управление контейнером или инструмент развертывания приложений на контейнерных системах.

  • В отличие от виртуальной машины, контейнер не должен загружать ядро операционной системы, поэтому контейнеры могут быть созданы менее чем за секунду. Эта функция делает контейнерную виртуализацию уникальной и желательной, чем другие подходы виртуализации.
  • Поскольку на основе контейнеров виртуализация добавляет мало или нет накладных расходов на хост-машина, виртуализацию на основе контейнера имеет почти родное представление
  • Для виртуализации на основе контейнеров не требуется дополнительное программное обеспечение, в отличие от других виртуализаций.
  • Все контейнеры на хост-машине делятся планировщиком хост-машины, сохраняя необходимость дополнительных ресурсов.
  • Состояния контейнеров (Docker или LXC изображения) невелики по сравнению с изображениями виртуальных машин, поэтому изображения контейнера легко распределяют.
  • Управление ресурсами в контейнерах достигается через cgroups. CGroups не позволяет контейнерам потреблять больше ресурсов, чем выделенные им. Однако, насколько сейчас все ресурсы хост-машины видны на виртуальных машинах, но не могут быть использованы. Это может быть реализовано запуском верхнего или HTOP на контейнерах и хост-машине одновременно. Вывод по всей средам будет выглядеть аналогично.

🔗 Источник: stackoverflow.com

Q23: Можете ли вы объяснить инструкцию Dockerfile InBuild?

Тема: Докер Сложность: ⭐. ⭐⭐⭐.

Onbuild Инструкция добавляет к изображению Trigger Instruction для выполнения в более позднее время, когда изображение используется в качестве основы для другой сборки. Это полезно, если вы создаете изображение, которое будет использоваться в качестве базы для создания других изображений, например среду сборки приложений или демон, который может быть настроен с пользовательской конфигурацией.

🔗 Источник: stackoverflow.com

Q24: Хорошая практика для запуска состояния приложений на Docker? Каковы сценарии, где Docker лучше всего подходит?

Тема: Докер Сложность: ⭐. ⭐⭐⭐.

Проблема с заявлениями о состоянии Docker что они по умолчанию хранят свое состояние (данные) в файловой системе контейнеров. После того, как вы обновите свою версию программного обеспечения или хотите перейти к другой машине, ее трудно извлечь данные оттуда.

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

Если вы запустите свой контейнер с: Docker Run -v HostFolder:/Containerfolder любые изменения в /containerfolder будет сохраняться на HostFolder Отказ Нечто подобное можно сделать с помощью NFS-накопителя. Затем вы можете запустить вам приложение на любой хост-машина, а состояние будет сохранено в диске NFS.

🔗 Источник: stackoverflow.com

Q25: Можете ли вы запустить контейнеры Docker в Windows?

Тема: Докер Сложность: ⭐. ⭐⭐⭐.

С Windows Server 2016 вы можете запустить контейнеры Docker Rative в Windows, а с Windows Nano Server у вас будет легкая ОС для запуска внутри контейнеров, поэтому вы можете запустить .NET Apps на своей родной платформе.

🔗 Источник: rafalgolarz.com

Q26: Как Docker работает контейнерами в системах без Linux?

Тема: Докер Сложность: ⭐. ⭐⭐⭐⭐.

Концепция контейнера производится возможным благодаря функции пространств имен, добавленных в ядро Linux версии 2.6.24. Контейнер добавляет свой идентификатор на каждый процесс и добавление новых проверку контроля доступа к каждому системному вызову. Доступ к системе CLONE (), который позволяет создавать отдельные экземпляры ранее глобальных пространств имен.

Если контейнеры возможны из-за особенностей, доступных в ядре Linux, то очевидным вопросом в том, что как системные системы не Linux управляют контейнерами. Оба докера для Mac и Windows используют Linux VMS Чтобы запустить контейнеры. Docker Toolbox Используется для запуска контейнеров в виртуальной коробке VMS. Но последний Docker использует Hyper-V в Windows и Hypervisor. Cramework в Mac.

🔗 Источник: stackoverflow.com

Q27: Как работает контейнеры на низком уровне?

Тема: Докер Сложность: ⭐. ⭐⭐⭐⭐.

Около 2006 года люди, включая некоторые из сотрудников в Google, реализовали новую функцию уровня ядра Linux, называемые пространствами имен (однако идея задолго до чего-то существовала в FreeBSD). Одной из функций ОС является разрешение совместного использования глобальных ресурсов, таких как сеть и диск к процессам. Что, если эти глобальные ресурсы были завернуты в пространства имен, чтобы они были видны только тем процессам, которые работают в том же пространстве имен? Скажем, вы можете получить кусок диска и поместите это в пространство имен X, а затем процессы, работающие в пространстве имен Y, не могут видеть или получать его. Аналогичным образом, процессы в пространстве имен X не могут получить доступ к тому, что в памяти, который выделяется на пространство имен Y. Конечно, процессы в X не могут видеть или разговаривать с процессами в пространстве имен Y. Это обеспечивает вид виртуализации и изоляции для глобальных ресурсов.

Вот как Докер Работает: каждый контейнер работает в собственном пространстве имен, но использует точно такое же ядро, как и все другие контейнеры. Выделение происходит, потому что ядро знает пространство имен, которое было назначено на процесс, и во время вызовов API он гарантирует, что процесс может получить доступ только к ресурсам в своем собственном пространстве имен.

🔗 Источник: stackoverflow.com

Q28: Назовите некоторые ограничения контейнеров VS VS

Тема: Докер Сложность: ⭐. ⭐⭐⭐⭐.

Просто назвать несколько:

  • Вы не можете запустить совершенно другую ОС в контейнерах, как в VMS. Однако ты может Запустите разные дистрибутивы в Linux, потому что они имеют одно и то же ядро. Уровень изоляции не так сильно, как в VM. На самом деле, был путь для «гостевого» контейнера, чтобы взять на себя хост в ранних реализациях.
  • Также вы можете увидеть, что при загрузке нового контейнера вся новая копия ОС не начнется так, как она делает в VM.
  • Все контейнеры разделяют одно и то же ядро. Вот почему контейнеры являются легкими.
  • Также в отличие от VM, вам не нужно предварительно распределить значительный кусок памяти в контейнеры, потому что мы не запускаем новую копию ОС. Это позволяет запустить тысячи контейнеров на одной ОС, в то время как песочница их, что может быть невозможно сделать, если бы мы работали отдельная копия ОС в своей собственной VM.

🔗 Источник: stackoverflow.com

Q29: Как использовать Docker с несколькими средами?

Тема: Докер Сложность: ⭐. ⭐⭐⭐⭐.

Вы почти наверняка хотите внести изменения в вашу конфигурацию приложения, которые более подходят для живой среды. Эти изменения могут включать в себя:

  • Удаление любых привязки громкости для кода приложения, чтобы код оставался внутри контейнера и не может быть изменен извне
  • Привязка к разным портам на хосте
  • Установка переменных среды по-разному (например, для уменьшения многолетнего ведения журнала или для разрешения отправки электронной почты)
  • Указание политики перезагрузки (например, перезагрузка: всегда), чтобы избежать простоя
  • Добавление дополнительных услуг (например, агрегатор журнала)

По этой причине вы, вероятно, захотите определить дополнительный составной файл, скажем, Production.yml , который определяет соответствующую настройку производства. Этот файл конфигурации должен включать только изменения, которые вы хотите сделать из исходного файла Compose.

docker-compose -f docker-com

🔗 Источник: stackoverflow.com

Q30: Почему Docker Compose не ждет, пока контейнер будет готов, прежде чем перейти, чтобы начать следующую службу в порядке зависимости?

Тема: Докер Сложность: ⭐. ⭐⭐⭐⭐.

Создать всегда начинает и останавливает контейнеры в порядке зависимости, где зависимости определяются Defends_on , ссылки , Volumes_from и news_mode : «услуга:…».

Однако для запуска составляется не ждать, пока контейнер не будет «готов» (все, что означает для вашего конкретного приложения) — только до тех пор, пока он не работает. Там есть веская причина для этого:

  • Проблема ожидания базы данных (например) быть готовой, это действительно просто подмножество гораздо большей проблемы распределенных систем. В производстве ваша база данных может стать недоступными или перемещать хосты в любое время. Ваше приложение должно быть устойчивым к этим типам сбоев.
  • Чтобы обработать это, разработайте свое приложение, чтобы попытаться восстановить соединение с базой данных после сбоя. Если приложение повторно повторно подключается, он может в конечном итоге подключаться к базе данных.
  • Лучшим решением является выполнение этой проверки в вашем приложении, как при запуске, так и при когда всякий раз, когда соединение потеряно по какой-либо причине.

🔗 Источник: docs.docker.com

Спасибо 🙌 для чтения и удачи в вашем интервью! Пожалуйста, поделитесь этой статьей с вашим собратьем devs, если вам это нравится! Проверьте больше вопросов интервью и ответы на 👉 www.fullstack.cafe.

Оригинал: «https://dev.to/fullstackcafe/30-docker-interview-questions-to-ace-devops-engineer-interview-2277»