Введение в docker
Docker — это программная платформа для быстрой разработки, тестирования и развертывания приложений. Docker упаковывает ПО в стандартизованные блоки, которые называются контейнерами.
В контейнере обычно содержится окружение необходимое для работы процесса. Контейнер работает пока живет процесс запущенный в этом контейнере. Собственно я понимаю контейнер как маленькая операционная система (хотя это конечно не так)с необходимыми библиотеками и зависимостями для работы приложения внутри него.

Собственно где брать эти самые образы контейнеров ?
Docker-hub — публичный репозиторий образов, не путать с Pornhub.
Как скачать себе образ ? Давайте например установим образ с Ubuntu.
docker pull ubuntu
Прямо в консоли можно также посмотреть список похожих образов
docker search ubuntu
Так, установили образ с Ubuntu, теперь давайте запустим и попробуем что нибудь выполнить внутри, например команду ls, и посмотрим список работающих процессов внутри контейнера.
docker run -it ubuntu
Флаг -it позволяет подключится к оболочке bash внутри докер контейнера.
Как посмотреть какие контейнеры docker запущены на нашей машине ?
docker ps
Запущен только один контейнер, также можно увидеть id контейнера, он нам нужен например если хотим остановить его.
docker stop <CONTAINER_ID>Другой пример. Допустим нам нужен nginx, но устанавливать его на свою машину мы не хотим. Тогда скачиваем образ nginx, в нем будет unix ОС с предустановленным nginx на борту.
docker pull nginx
Запускаем
docker run nginx
Тестируем. Переходим в браузере на localhost:80

Вауля ! Нас встречает веб сервер nginx.
Так же могут пригодиться команды.
docker loginСвязывает утилиту docker с вашим удаленным репозиторием образов, в который вы можете загрузить свои контейнеры.
Загрузить контейнер можно командой
docker push имя_репозитория/имя_образаЧтобы посмотреть список установленных на вашей тачке образов, команда
docker images
За кадром остался еще целый ряд интересных вопросов, например, монтирование части файловой системы хоста в контейнер, взаимодействие контейнеров друг с другом или написание Dockerfile. Но во всем этом вы и без меня разберетесь при помощи официальной документации.
