Команда 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