Перейти к основному содержимому

Как запустить контейнер

1. Уточните имя образа

Если вы уже знаете точное имя образа, то переходите к шагу 2. Для уточнения имени образа используйте команду podman search.

Найти образы Nginx в реестре docker.io и показать первые десять результатов:

$ podman search --limit 10 docker.io/nginx

Имя образа содержится в столбце NAME.

Вывод
NAME                                              DESCRIPTION
docker.io/library/nginx Official build of Nginx.
docker.io/nginx/nginx-ingress NGINX and NGINX Plus Ingress Controllers fo...
docker.io/nginx/nginx-prometheus-exporter NGINX Prometheus Exporter for NGINX and NGIN...
docker.io/nginx/unit This repository is retired, use the Docker o...
docker.io/nginx/nginx-ingress-operator NGINX Ingress Operator for NGINX and NGINX P...
docker.io/nginx/nginx-quic-qns NGINX QUIC interop
docker.io/nginx/nginxaas-loadbalancer-kubernetes
docker.io/nginx/unit-preview Unit preview features
docker.io/bitnami/nginx Bitnami container image for NGINX
docker.io/ubuntu/nginx Nginx, a high-performance reverse proxy & we...

2. Запустите контейнер

Контейнер запускается командой podman run. Команда автоматически выполнит поиск и скачивание образа, а затем создаст и запустит контейнер на основе этого образа.

$ podman run -q -d --name <имя контейнера> -p <порт> <имя образа>

Опции

-qскрыть подробный вывод прогресса
-dзапустить контейнер в фоновом режиме
--nameзадать имя контейнера
-p <host>:<container>пробросить порты из хост-системы в контейнер

Имя контейнера можно не задавать — тогда Podman сгенерирует случайное имя новому контейнеру.

Но для дальнейшей работы с контейнером лучше задать удобное имя самостоятельно.

Пример запуска образа docker.io/library/nginx:

$ podman run -q -d --name http_server -p 8080:80 docker.io/library/nginx
Вывод
# вывод - полный id контейнера

12c37bed986ab6ca5bfa23bb26cc5bef8b6aebf25d56670dee0fcb39c4eb8aea

3. Проверьте работоспособность

Команда podman ps показывает список всех запущенных контейнеров.

$ podman ps 
Вывод
 
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
45140101a774 docker.io/library/nginx:latest nginx -g daemon o... 5 seconds ago Up 6 seconds 0.0.0.0:8080->80/tcp http_server

Проверка работоспособности приложения в контейнере зависит от самого приложения. Для веб-сервера можно проверить, что приложение в контейнере запущено. Например, отправить HEAD-запрос на порт 8080 в локальной сети:

$ curl -I localhost:8080
Вывод
# вывод в случае запущенного nginx

HTTP/1.1 200 OK
Server: nginx/1.29.0
Date: Sun, 29 Jun 2025 22:07:55 GMT
Content-Type: text/html
Content-Length: 615
Last-Modified: Tue, 24 Jun 2025 17:22:41 GMT
Connection: keep-alive
ETag: "685adee1-267"
Accept-Ranges: bytes