Введение в docker

Ivan Poleschuk
Nov 5 · 3 min read

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. Но во всем этом вы и без меня разберетесь при помощи официальной документации.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade