docker).docker images
* Загрузка образа из реестра (например, Docker Hub): docker pull <имя_образа>[:<тег>]
docker run): Создание и запуск экземпляра образа. Необходимо настроить различные параметры запуска.--name <имя_контейнера>: Присваивает имя контейнеру для удобного управления. Если не указано, Docker генерирует случайное имя.-d или --detach: Запускает контейнер в фоновом режиме (detached). Контейнер продолжает работать после закрытия терминала.-p или --publish [hostPort:]containerPort[/tcp|udp]: Публикует порты контейнера на хостовой машине, делая приложение доступным извне.hostPort: Порт на хостовой машине (опционально). Если не указан, Docker выберет случайный свободный порт.containerPort: Порт, который слушает приложение внутри контейнера (объявлен в EXPOSE Dockerfile или известен разработчику)./tcp или /udp: Протокол (по умолчанию TCP).docker run -p 80:80 nginx (пробросить порт 80 контейнера на порт 80 хоста)docker run -p 8080:80 nginx (пробросить порт 80 контейнера на порт 8080 хоста)docker run -p 127.0.0.1:8080:80 nginx (пробросить порт 80 контейнера на порт 8080 хоста только на локальном интерфейсе)-v или --volume [host_path:]container_path[:ro|rw] или --volume <имя_тома>:<путь_в_контейнере>[:ro|rw]: Монтирует тома для обеспечения постоянного хранения данных или обмена файлами.host_path:container_path): Связывает каталог или файл на хостовой машине с каталогом внутри контейнера.host_path: Абсолютный путь к каталогу или файлу на хосте.container_path: Абсолютный путь к каталогу внутри контейнера.:ro: Монтирование только для чтения (read-only).:rw: Монтирование для чтения и записи (read-write - по умолчанию).docker run -v /data:/var/lib/mysql mysql (смонтировать каталог /data хоста в /var/lib/mysql контейнера)<имя_тома>:<путь_в_контейнере>): Использует именованные тома, созданные Docker.<имя_тома>: Имя созданного тома (например, my_db_data).container_path: Абсолютный путь к каталогу внутри контейнера.docker run -v my_db_data:/var/lib/postgresql/data postgres-e или --env <KEY=VALUE>: Устанавливает переменные окружения внутри контейнера.docker run -e POSTGRES_PASSWORD=mysecretpassword postgres--network <имя_сети>: Подключает контейнер к указанной Docker-сети. По умолчанию контейнеры подключаются к сети bridge.docker network create <имя_сети>docker run --network my-app-network my-app--restart <политика>: Определяет политику перезапуска контейнера при сбое (no, on-failure[:max-retries], always, unless-stopped).docker run --restart always my-web-app (всегда перезапускать контейнер, если он останавливается)--rm: Автоматически удаляет контейнер после его остановки. Полезно для временных контейнеров.docker run --rm my-utility-container--entrypoint <команда>: Переопределяет ENTRYPOINT, определенный в Dockerfile.--cmd <аргументы>: Переопределяет CMD, определенный в Dockerfile.-u или --user <uid>[:<gid>] или --user <username>[:<groupname>]: Запускает процессы внутри контейнера от указанного пользователя или пользователя и группы.docker ps-a или --all: Показать все контейнеры (включая остановленные).docker stop <имя_контейнера> или <ID_контейнера>SIGTERM контейнеру и дает время на корректное завершение.docker kill <имя_контейнера> или <ID_контейнера>SIGKILL, немедленно завершая процесс.docker restart <имя_контейнера> или <ID_контейнера>docker logs <имя_контейнера> или <ID_контейнера>-f или --follow: Следить за логами в реальном времени.--tail <число>: Показать последние N строк логов.docker exec -it <имя_контейнера> или <ID_контейнера> <команда>-it: Интерактивный терминал (pseudo-TTY).docker exec -it my-web-app bash (запустить оболочку bash внутри контейнера my-web-app)docker cp <путь_на_хосте> <имя_контейнера>:<путь_в_контейнере> или docker cp <имя_контейнера>:<путь_в_контейнере> <путь_на_хосте>docker rm <имя_контейнера> или <ID_контейнера>-f или --force: Принудительное удаление запущенного контейнера (не рекомендуется).bash
docker run --name my-nginx -d -p 80:80 nginx
bash
docker run --name my-postgres -d -e POSTGRES_PASSWORD=mysecret -v pg_data:/var/lib/postgresql/data postgres
(Предполагается, что том pg_data уже создан: docker volume create pg_data)my-python-app в фоновом режиме:
bash
docker run --name my-app -d my-python-app
(Если приложение слушает порт, необходимо добавить -p)bash
docker run --rm alpine echo "This container will be removed"
--restart может помочь).Ручное развертывание контейнеров предоставляет прямой контроль над запуском и управлением отдельными контейнерами с помощью командной строки Docker. Хотя оно полезно для простых сценариев и понимания основ, для более сложных многоконтейнерных приложений рекомендуется использовать инструменты оркестрации или композиции, такие как Docker Compose или Kubernetes.
docker run с различными параметрами.docker ps, docker stop, docker start, docker logs, docker exec).