Docker для самых маленьких.

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

Docker — это проект с открытым исходным кодом для автоматизации развертывания приложений в виде переносимых автономных контейнеров, выполняемых в облаке или локальной среде.

Установка.

В Windows все достаточно просто, качаем Докер с официального сайта и устанавливаем.

Если мы хотим установить его скажем в Debian или дистрибутивы семейства Linux то начинаются не большие танцы с бубном. Мы ставить будем в Debian :

  • Ставить для начало необходимые зависимости:
    • apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common
  • Добавьте официальный ключ GPG Docker (если все хорошо вернет OK):
    • curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
  • Добавьте стабильный репозиторий Docker APT в список репозиториев
    • sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
  • Обновите список пакетов и установите последнюю версию Docker CE (Community Edition):
    • sudo apt update
    • sudo apt install docker-ce

Первые команды.

Контейнеры Docker запускаются из образов, можно сказать аналог ISO файла. По умолчанию образы Docker хранятся на Docker Hub – как Github только для контейнеров, поддерживаемый командой разработчиков проекта. Разместить свой образ на Docker Hub может любой пользователь, потому здесь можно найти образы для большей части приложений и дистрибутивов Linux.

Давайте выполним первые команды :

  • Проверим версию Докер.
    • docker -v
  • И запустим первый контейнер, который называется hello-world и сделан специально для проверки работы Docker )))
    • docker run hello-world
Команда RUN запускает контейнер. Вы наверное заметили что данного образа не было на компьютере о чем нам и написал докер. Но он нашел его в своем Docker Hub, скачал и запустил.

Давайте теперь посмотрим список загруженных Images на компьютере командой images :

  • docker images

REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest feb5d9fea6a5 3 months ago 13.3kB

Команда которая может вам пригодиться ) search — поиск по репозиторию образов, например бедный TomCat :

  • docker search tomcat

Мы тут видим много разных образов. Но нас интересует образ с название tomcat . У него 3008 звездочек и отметка что он официальный. Давайте скачаем командой pull

  • docker pull tomcat

Теперь давайте запустим и потестируем его:

  • docker run -d -p 80:8080 tomcat
    • --detach , -d Запустите контейнер в фоновом режиме и распечатайте идентификатор контейнера.
    • --publish , -p Опубликуйте порты контейнера на хосте, пробрасываем порт с контейнера на localhost

Теперь открываем браузер и заходим на localhost.

Посмотрим запущенные контейнеры :

  • docker ps
    • --all , -a Показать все контейнеры.
CONTAINER ID   IMAGE     COMMAND             CREATED         STATUS         PORTS                                   NAMES
af6d44eefe5c   tomcat    "catalina.sh run"   4 minutes ago   Up 4 minutes   0.0.0.0:80->8080/tcp, :::80->8080/tcp   zen_jang

Ну а теперь остановим контейнер (мы может использовать имя или использовать ID контейнера):

  • docker stop
    • tomcat
    • af6d44eefe5c

Шпаргалка основных команд.

  • docker start [CONTAINER…] — запуск остановленного контейнера
    • Остановленный контейнер можно перезапустить с сохранением всех его предыдущих изменений при использовании.
  • docker run IMAGE — создание и запуск нового контейнера. (То есть, docker run эквивалентно API /containers/create тогда /containers/(id)/start
    • --detach , -d Запустите контейнер в фоновом режиме и распечатайте идентификатор контейнера.
    • --env , -e Установка переменных среды.
    • --memory , -m Ограничение памяти.
    • --rm Автоматически удаление созданного контейнер, когда он выйдет.
    • --publish , -p Опубликуйте порты контейнера на хосте.
      • -p 8080:80/tcp -p 8080:80/udp
    • --name Назначьте имя контейнеру.
    • -it Интерактивный режим.
  • docker rm CONTAINER Удалите один или несколько контейнеров.
    • --volumes , -v Удалить Volume контейнера(виртуальные жесткие диски).
  • docker search TERM Поиск в центре Docker.
    • --limit Максимальное количество результатов поиска.
    • --filter , -f Выход фильтра на основе заданных условий.
  • docker ps [OPTIONS] Список контейнеров.
    • --all , -a Показать все контейнеры.
    • --last , -n Показать n последних созданных контейнеров (включает все состояния).
    • --size , -s Отображение общих размеров файлов.
  • docker stop [OPTIONS] CONTAINER [CONTAINER…] Остановите один или несколько запущенных контейнеров.
    • --time , -t Секунды, чтобы дождаться остановки, прежде чем остановить его.
  • docker pull NAME Получение образа из репозитория.
  • docker images [OPTIONS] [REPOSITORY[:TAG]] Список образов.
    • --all , -a Показать все изображения (по умолчанию скрываются промежуточные изображения).
  • docker rmi IMAGE [IMAGE…] Удалите одно или нескольких образов.
  • docker logs [OPTIONS] CONTAINER Просмотр логов контейнера.

Ошибка в тексте? Выделите её и нажмите «Ctrl + Enter»

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *