Проверка деталей контейнера
Docker предоставляет мощные инструменты для проверки деталей ваших контейнеров. Давайте рассмотрим их.
Для получения подробной информации о контейнере используйте команду inspect
:
docker inspect nginx-detached
Эта команда выводит JSON-массив с подробной информацией о контейнере. Информация может быть обширной, поэтому давайте используем фильтр для получения конкретной информации.
Для получения IP-адреса контейнера:
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' nginx-detached
Для просмотра текущего состояния контейнера:
docker inspect -f '{{.State.Status}}' nginx-detached
Эти команды используют шаблоны Go для фильтрации вывода. Флаг -f
позволяет нам указать шаблон форматирования.
Также проверим маппинг портов:
docker port nginx-detached
Маппинг портов позволяет контейнерам взаимодействовать с хост-системой или внешними сетями. Он сопоставляет порт на хост-системе с портом внутри контейнера. Это важно для доступа к службам, запущенным внутри контейнеров, извне среды Docker.
Если порты не были сопоставлены, эта команда не выдаст никакого вывода. В нашем случае мы явно не сопоставили никакие порты для контейнера nginx-detached
, поэтому, скорее всего, вы не увидите никакого вывода.
Для демонстрации маппинга портов создадим новый контейнер Nginx с маппингом портов:
docker run -d --name nginx-with-port -p 8080:80 nginx
Эта команда сопоставляет порт 8080 на хосте с портом 80 в контейнере. Теперь, если мы проверим маппинг портов:
docker port nginx-with-port
Вы должны увидеть вывод, похожий на следующий:
80/tcp -> 0.0.0.0:8080
Это означает, что трафик на порт 8080 на вашем хост-компьютере будет перенаправлен на порт 80 в контейнере, где запущен Nginx.