Что такое Докер и зачем он нужен?

 

Docker — инструмент виртуализации, который используется для запуска и управления приложениями через контейнеры. Docker доступен в виде GUI или командного интерфейса для desktop-систем Linux, Windows, а также доступен на серверах с этими ОС. Работа с контейнерами в Docker осуществляется с помощью готовых docker-образов, содержащих все необходимые компоненты для запуска приложения: операционную систему, пакеты, библиотеки и так далее.

В REG.RU доступен шаблон VPS/VDS server с поддержкой Docker (auto-install) на серверах с Ubuntu 18.04. Благодаря быстрым SSD-дискам, установленным на серверах, вы можете эффективно использовать и распределять ресурсы с Docker.



Что такое Docker container?

 

Контейнер в Докер — исполняемый набор программного обеспечения, который запускается из docker-образа. Сам образ при этом неизменяем. Из одного образа можно запустить несколько контейнеров с изолированными друг от друга процессами.

Контейнеры можно загружать на облачный хостинг, локальные компьютеры и серверы. Основные команды: создание контейнера из образа (docker run <образ>), остановка контейнера (docker stop <контейнер>), запуск контейнера (docker start), перезапуск контейнера (docker restart). Полный список команд можно посмотреть в [документации](https://docs.docker.com/engine/reference/commandline/docker/).



Как установить и пользоваться Docker на сервере?

 

Если вы приобретаете новый сервер, то можете выбрать шаблон с автоустановкой Docker на Ubuntu 18.04. На других ОС или на уже работающем сервере устанавливать Docker нужно самостоятельно. Описание setup-процесса есть в нашей [Базе знаний](https://www.reg.ru/support/vps-servery/oblachnie-serveri-vps/ustanovka-programmnogo-obespechenija/), а также в [официальной документации](https://docs.docker.com/).

Какие приложения можно запустить через Docker?

 

Большинство приложений, которые можно запустить в Docker, находятся в [Docker Hub](https://hub.docker.com/). Это официальный репозиторий образов Docker. В Docker repository вы можете установить на сервер любую версию Ubuntu или другую ОС, а также развернуть одно из популярных веб-приложений ([Django](https://hub.docker.com/_/django), [Node.js](https://hub.docker.com/_/node/), [Rails](https://hub.docker.com/_/rails), [ASP.NET Core](https://hub.docker.com/_/microsoft-dotnet-aspnet) и так далее) или готовый набор библиотек.

Как сделать контейнер доступным для других служб и контейнеров?

 

Поскольку технология виртуализации Docker работает на основе определённой операционной системы, у контейнеров есть свой сетевой интерфейс с IP-адресом, шлюзом, службами DNS и другими компонентами. По умолчанию все порты Docker-контейнера закрыты, и чтобы его могли увидеть другие службы, следует открыть нужный port с помощью флага —publish или —p. Подробнее о настройки сети в контейнерах — в [документации](https://docs.docker.com/config/containers/container-networking/).