Ответ
В ежедневной работе с Docker я постоянно использую определенный набор команд.
Жизненный цикл контейнеров и образов:
docker build -t myapp:latest .— сборка образа из Dockerfile в текущей директории. Всегда указываю тег для удобства.docker run -d --name my-container -p 8080:80 myapp:latest— запуск контейнера в фоновом режиме с пробросом портов. Ключи-eдля переменных окружения и-vдля томов тоже используются постоянно.docker ps— просмотр запущенных контейнеров.docker ps -aпоказывает все, включая остановленные, что помогает при очистке.docker stop/start/restart my-container— управление состоянием.docker logs -f my-container— «хвост» логов контейнера в реальном времени для отладки.docker exec -it my-container /bin/bash— интерактивное подключение к запущенному контейнеру для исследования или выполнения команд.docker rm -f my-containerиdocker rmi myapp:old— удаление контейнеров и образов для освобождения места.
Работа с образами:
docker images— список локальных образов.docker pull/push— работа с реестрами (Docker Hub, GitLab Registry, ECR).
Для сетей и томов:
docker network lsиdocker network inspect— диагностика сетей, особенно когда контейнеры не могут «увидеть» друг друга.docker volume create— создание именованных томов для сохранения данных.
Для оркестрации нескольких сервисов:
docker-compose up -dиdocker-compose down— основной способ локального запуска стека из нескольких контейнеров (приложение + БД + кэш) для разработки и тестирования. Файлdocker-compose.yml— это стандарт в моих проектах.
Эти команды — основа для написания скриптов развертывания, отладки и обслуживания контейнеризированных приложений.
Ответ 18+ 🔞
Э, слушай, я тут каждый день с Docker'ом вожусь, как обезьяна с гранатой, и у меня уже свой священный ритуал из команд сложился. Без них нихуя не работает, а с ними — хоть в космос запускай.
Вот эта вся возня с контейнерами и образами, ёпта:
docker build -t myapp:latest .— это святое. Собираешь образ из своего Dockerfile, который тут же валяется. Главное — тег не забудь, а то потом будешь искать этот образ, как иголку в стоге сена, и охуевать.docker run -d --name my-container -p 8080:80 myapp:latest— запускаешь эту банду в фоне. Ключи-eдля настроек и-vдля томов — это вообще отдельная песня, без них никуда.docker ps— глянуть, кто там живой и дышит. Аdocker ps -a— это уже полный развод, показывает всех, включая тех, кто уже на том свете. Полезно, когда надо почистить авгиевы конюшни.docker stop/start/restart my-container— включил, выключил, перезагрузил. Базовый контроль, как пульт от телевизора.docker logs -f my-container— это мой любимый способ отладки. Просто смотришь в хвост логов в реальном времени и чувствуешь себя хакером из кино, пока не поймёшь, что приложение сдохло из-за опечатки.docker exec -it my-container /bin/bash— а вот это уже полное погружение. Залазишь внутрь контейнера, как в танк, и начинаешь там ковыряться. Без этого — ни хуя не понять, что там творится.docker rm -f my-containerиdocker rmi myapp:old— беспощадная зачистка. Удаляешь контейнеры и старые образы, которые жрут место, как не в себя. Иначе диск сядет, и будет тебе хиросима.
Сами образы:
docker images— список того, что наваял или стянул. Иногда смотришь и думаешь: «Ёперный театр, когда я успел столько насоздавать?».docker pull/push— таскание добра в реестры и обратно. Docker Hub, GitLab — куда скажут.
Для сетей и прочей ерунды:
docker network lsиdocker network inspect— когда контейнеры перестают друг друга видеть и начинается тихий пиздец. Идешь смотреть, кто в какой сети сидит и почему там хуй с винтом.docker volume create— создаешь именованные тома, чтобы данные не испарились после удаления контейнера. Иначе будешь плакать, как сука.
А для настоящей магии, когда сервисов несколько:
docker-compose up -dиdocker-compose down— это вообще песня. Поднимаешь целый зоопарк (приложение, базу, кэш) одной командой. Файликdocker-compose.yml— это теперь мой второй паспорт, без него ни шагу.
Вот этот набор — он как отвёртка и паяльник. Без него скрипты не напишешь, приложение не отладишь и вообще чувствуешь себя беспомощным, как мартышлюшка. Но с ним — уже хоть что-то понятно, и волнение ебать поутихает.