Начало работы, часть 1: ориентация и настройка

Добро пожаловать! Мы очень рады, что вы хотите изучить Docker. Учебник Docker Get Started учит, как:

  1. Настройка среды Docker (на этой странице)
  2. Создание образа(image) и запуск его как один контейнер.
  3. Масштабируйте приложение для запуска нескольких контейнеров
  4. Распределите приложение через кластер
  5. Службы стека, добавив базу данных
  6. Разверните приложение для производства

Концепции Docker

Docker - это платформа для разработчиков и системных администраторов для разработки, развертывания и запуска приложений с контейнерами. Использование контейнеров Linux для развертывания приложений называется контейнеризацией.

Контейнеры становятся все более популярными, поскольку контейнеры:

  • Гибкость: даже самые сложные приложения могут быть контейнерными.
  • Легкий: Контейнеры используют и совместно используют ядро хоста.
  • Взаимозаменяемый: вы можете развертывать обновления и обновления на лету.
  • Portable: вы можете создавать локально, развертываться в облаке и работать в любом месте.
  • Масштабируемость. Вы можете увеличивать и автоматически распространять реплики контейнеров.
  • Stackable: вы можете выполнять стек вертикально и «на лету».

Образы(images) и контейнеры(containers)

Контейнер запускается путем запуска образов(images). Образы представляет собой исполняемый пакет, включающий все необходимое для запуска приложения - код, среду выполнения, библиотеки, переменные среды и файлы конфигурации.

Контейнер представляет собой экземпляр времени выполнения образа(image) - то, что образ загруженный в памяти при выполнении (то есть образ с состоянием или пользовательский процесс). Вы можете увидеть список ваших запущенных контейнеров с помощью команды docker ps, как и в Linux.

Контейнеры и виртуальные машины

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

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

Подготовьте свою среду Docker

Установите поддерживаемую версию Docker Community Edition (CE) или Enterprise Edition (EE) на поддерживаемой платформе.

https://docs.docker.com/install/

Test Docker version

Запустите docker --version и убедитесь, что у вас есть поддерживаемая версия Docker:

docker --version

Docker version 17.12.0-ce, build c97c6d6

Запустите информацию о докере или (докерную версию без -), чтобы просмотреть еще более подробную информацию о вашей установке докера:

docker info

Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 17.12.0-ce
Storage Driver: overlay2
...

Чтобы избежать ошибок разрешения (и использования sudo), добавьте пользователя в группу докеров.

Установка тестового docker

Проверьте, что ваша установка работает, запустив простой образ Docker, hello-world:

docker run hello-world

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
ca4f61b1923c: Pull complete
Digest: sha256:ca0eeb6fb05351dfc8759c20733c91def84cb8007aa89a5bf606bc8b315b9fc7
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.
...

Список образов hello-world, загруженный на ваш компьютер:

docker image ls

Список контейнеров hello-world (порожденный образом), который выйдет после отображения его сообщения. Если он все еще работает, вам не понадобится опция -all:

docker container ls --all

CONTAINER ID     IMAGE           COMMAND      CREATED            STATUS
54f4984ed6a8     hello-world     "/hello"     20 seconds ago     Exited (0) 19 seconds ago

Список команд:

## Список Docker CLI commands
docker
docker container --help

## Display Docker version and info
docker --version
docker version
docker info

## Выполнение Docker образа
docker run hello-world

## Список Docker images
docker image ls

## Список Docker containers (running, all, all in quiet mode)
docker container ls
docker container ls --all
docker container ls -aq

Заключение первой части

Контейнер делает CI / CD бесшовным. Например:

  • приложения не имеют системных зависимостей
  • обновления могут быть перенесены в любую часть распределенного приложения
  • плотность ресурсов может быть оптимизирована.

С Docker масштабирование вашего приложения связано с разворачиванием новых исполняемых файлов, а не с использованием мощных хостов VM.

results matching ""

    No results matching ""