Doker Flashcards

1
Q

Что такое Doker, какую проблему решает?

A

Докер - средство упаковки, доставки и запуска приложений.
Работает по принципу контейнеризации, придя на смену виртуализации.

Виртуализация - создание несколих виртуальных машин (со своей “гостевой” ОС) на одном физическом сервере. Приложение развернуто внутри такой машины изолированно, и если машина переедет на другой физ. сервер - приложение даже не заметит.

Контейнеризация тоже создает изолированную виртуальную среду, но полностью работает на единой хостящей ОС.

В итоге докер - это единый процесс основной ОС сервера, он не имеет своей полноценной ОС.

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Что такое dockerfile, docker-compose?

A

dockerfile - файл без расширения, содержащий инструкции для создания образа контейнера.
метафорический рецепт.

docker-compose - yaml файл, на основе которого докер настроит связи между контейнерами.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Doker image vs Doker container?

A

image - read-only шаблон контейнера, созданный на основе dockerfile и содержащий все нужные зависимости, описывает как докеру создавать контейнер.
Каждая команда dockerfile - новый слой образа. Поэтому поэтому размещать слои надо от наименее к наиболее изменяемым.

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

container - готовое к запуску приложение в котором выполняется программа. Контейнеров на основе образа может быть сколько угодно. Контейнер никак не влияет на образ.

Контейнер - файл (image / образ), содержащий приложение, зависимости и инструкции.
Работа контейнера - это выполнение образа.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Как залезть в работающий Doker контейнер через командную строку?

A

docker exec -it container_name bash

docker exec -it - вызов виртуального терминала докера

How well did you know this?
1
Not at all
2
3
4
5
Perfectly