Demo commands

Команда docker run. Это одна из наиболее часто используемых команд и у нее, наверное, больше всего параметров для запуска. Этот ряд особенностей необходимо будет знать и уметь применять на практике.

Переходим на сайт docker hub

Смотрим, какие контейнеры нам доступны.

Попробуем alpine linux alpine

Запустим его командой

docker run alpine

Если будет указано только имя образа, докер будет думать следующим образом:

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

При запуске неофициального образа используется формат: имя_пользователя/имя_образа.

Используем параметр -it для входа внутрь контейнера. sh — оболочка shell.

docker run -it alpine sh
hostname

Посмотрим на релизную информацию этой ОС

cat /etc/*rel*

Посмотрим на список работающий контейнеров

docker ps

Запустим контейнер в фоновом режиме -d , чтобы открепить от него консоль и займем контейнер выполнением процесса sleep

docker run -d alpine sleep 15

Потребуется команда, чтобы увидить все контейнеры, которые присутствуют у тебя на хосте. Как работающие, так и уже выполненные/остановленные.

docker ps -a

Запустим alpine в detached mode на 1000 секунд

docker run -d alpine sleep 1000

Чтобы прервать работу контейнера

docker stop (Имя или id)

docker stop nervous_tharp

Как удалять контейнеры

docker rm (Имя или id)

docker rm

Теперь переходим к образам

docker images

Для удаления контейнеров есть команда

docker rmi alpine

Для тестов потребуется образ busybox

docker run -d busybox sleep 200

Попробуем удалить образ пока работает контейнер

docker rmi busybox
Error response from daemon: conflict: unable to remove repository reference "busybox" (must force)

Остановим контейнер. Удалим образ командой для удаления множества контейнеров/образов.

docker rm $(docker ps -aq)

Удалит все контейнеры.

Чтобы скачать образ заранее, в докер есть команда:

docker pull nginx

Команда скачает докер образ на хост не запуская.

Запустим его в фоновом режиме

docker run -d nginx

Чтобы посмотреть конфигурацию nginx внутри контейнера.

Для начала определим id контейнера командой docker ps

Чтобы выполнить команду в работающем контейнере введем docker exec id_контейнера

docker exec c9c0e88d78f8 cat /etc/nginx/nginx.conf

Помогают в решении проблем команды docker inspect cocker logs