[[Docker]] — это инструмент, с которым рано или поздно сталкивается каждый разработчик. Однако, если не использовать его ежедневно, команды могут быстро забываться. Часто мы запоминаем лишь несколько наиболее используемых, а остальные выпадают из памяти.
Я сам постоянно сталкиваюсь с этим, когда приходится искать команды в официальной документации или в интернете. Чтобы сократить это повторяющееся действие, я создал **шпаргалку с простым и понятным списком часто используемых команд Docker**.
Здесь собрана только самая суть, чтобы вы могли быстро найти нужную информацию в любой момент. 😊
***

## 1. Команды для работы с образами
| Команда | Описание |
| --- | --- |
| `docker build -t <имя>:<тег> .` | Создать образ на основе Dockerfile в текущей директории |
| `docker images` | Просмотреть список локальных образов |
| `docker rmi ` | Удалить образ |
| `docker pull <образ>` | Загрузить образ из удаленного репозитория |
| `docker push <образ>` | Отправить образ в репозиторий (требуется вход в систему) |
## 2. Команды для работы с контейнерами
| Команда | Описание |
| --- | --- |
| `docker run -d --name <имя> -p 8000:8000 <образ>` | Запустить контейнер в фоновом режиме |
| `docker ps` | Список запущенных контейнеров |
| `docker ps -a` | Полный список, включая остановленные контейнеры |
| `docker exec -it <имя_контейнера> /bin/bash` | Войти в запущенный контейнер |
| `docker logs -f <имя_контейнера>` | Просмотр логов в реальном времени |
| `docker stop <имя_контейнера>` | Остановить контейнер |
| `docker rm <имя_контейнера>` | Удалить остановленный контейнер |
| `docker restart <имя_контейнера>` | Перезапустить контейнер |
## 3. Тома и сети
| Команда | Описание |
| --- | --- |
| `docker volume ls` | Список томов |
| `docker volume prune` | Очистить неиспользуемые тома |
| `docker network ls` | Список сетей |
| `docker network inspect <имя_сети>` | Просмотреть подробную информацию о сети |
## 4. Docker Compose
| Команда | Описание |
| --- | --- |
| `docker-compose up -d` | Запустить сервисы в фоновом режиме |
| `docker-compose down` | Остановить и удалить все сервисы |
| `docker-compose ps` | Список запущенных сервисов |
| `docker-compose logs -f` | Просмотр логов в реальном времени |
| `docker-compose restart <имя_сервиса>` | Перезапустить сервис |
## 5. Docker Swarm
| Команда | Описание |
| --- | --- |
| `docker swarm init` | Инициализировать режим Swarm |
| `docker stack deploy -c docker-compose.yml <имя_стека>` | Развернуть стек |
| `docker stack rm <имя_стека>` | Остановить и удалить стек |
| `docker service ls` | Список сервисов |
| `docker service ps <имя_сервиса>` | Просмотреть состояние сервиса |
| `docker service update --force <имя_сервиса>` | Перезапустить сервис (применяя новые настройки) |
## 6. Другие полезные команды
| Команда | Описание |
| --- | --- |
| `docker system df` | Проверить использование дискового пространства |
| `docker system prune` | Очистить неиспользуемые образы/контейнеры/тома |
| `docker stats` | Просмотр использования ресурсов контейнерами в реальном времени |
| `docker inspect <имя_контейнера или имя_образа>` | Просмотр подробной информации об объекте |
| `docker info` | Информация о текущей среде Docker |
| `journalctl -u docker.service` | Просмотр логов сервиса Docker на основе systemd |
| `sudo systemctl status docker` | Проверить статус демона Docker |
| `sudo systemctl restart docker` | Перезапустить демон Docker |
| `sudo less /var/log/syslog` | Поиск сообщений, связанных с Docker, в системных логах (для Ubuntu) |
***
Надеюсь, эта шпаргалка будет полезной для многих разработчиков.
На нашем блоге вы найдете еще много информации о Docker. Используйте строку поиска справа, чтобы найти ответы на интересующие вас вопросы по ключевым словам.