Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

DOCKER_BASIC_RUN Linux / DevOps

Docker для чайников: как скачать (pull), запустить Nginx (-p 80:80) и остановить контейнер

Обновлено: 26.08.2026 · Официальная документация ↗

Пользователь только что установил Docker на сервер, но не понимает базовых концепций: как скачать готовый образ с Docker Hub, как открыть доступ к сайту через порт 80 и как посмотреть список работающих контейнеров.

Что такое образ (Image) и контейнер (Container)?

  • Образ (Image) — это «шаблон / слепок» программы со всеми нужными файлами (как установочный образ ISO).
  • Контейнер (Container) — это живой запущенный экземпляр этого образа в изолированной песочнице.

Шаг 1. Скачивание образа с Docker Hub (команда docker pull)

Скачаем официальный легковесный веб-сервер Nginx:

sudo docker pull nginx:latest

Шаг 2. Запуск контейнера с пробросом портов (docker run)

Запустим Nginx одной командой:

sudo docker run -d --name my-web-server -p 80:80 nginx

Разбор флагов команды:

  • -d (detached) — запустить контейнер в фоновом режиме, чтобы терминал не завис;
  • --name my-web-server — дать понятное человеческое имя нашему контейнеру;
  • -p 80:80проброс портов. Первая цифра 80 — это порт на вашем сервере, вторая 80 — порт внутри контейнера;
  • nginx — имя образа, из которого создается контейнер.

Теперь откройте браузер и введите IP-адрес вашего сервера — вы увидите страницу «Welcome to nginx!».


Шаг 3. Просмотр списка работающих контейнеров (docker ps)

sudo docker ps

Чтобы увидеть все контейнеры (включая остановленные), добавьте флаг -a: sudo docker ps -a.


Шаг 4. Остановка и удаление контейнера

  • Временно остановить контейнер:
    sudo docker stop my-web-server
  • Снова запустить остановленный контейнер:
    sudo docker start my-web-server
  • Удалить контейнер навсегда:
    sudo docker rm my-web-server
💡 Практика специалистов: Чтобы запускать docker без постоянного ввода слова 'sudo', добавьте вашего пользователя в группу docker: sudo usermod -aG docker $USER, после чего перезайдите на сервер по SSH.

Частые вопросы (FAQ)

Что делать, если при запуске пишет: 'Bind for 0.0.0.0:80 failed: port is already allocated'?

Порт 80 на вашем сервере уже занят другой программой (например, локальным Apache или другим Nginx). Запустите контейнер на другом внешнем порту: -p 8080:80, и открывайте сайт по адресу http://IP:8080.

Как посмотреть логи того, что происходит внутри контейнера?

Используйте команду: sudo docker logs -f my-web-server (флаг -f транслирует новые логи в реальном времени).

Как зайти внутрь работающего контейнера в терминал?

Выполните команду интерактивного входа: sudo docker exec -it my-web-server /bin/bash (или sh).

Сохранятся ли файлы внутри контейнера, если его удалить командой docker rm?

Нет! Контейнеры эфемерны. При удалении контейнера все созданные внутри него файлы стираются. Для сохранения файлов используют Docker Volumes или Bind Mounts.

Полезные материалы
Рекомендуем