diff --git a/docs/docs/docker/commands.md b/docs/docs/docker/commands.md new file mode 100644 index 0000000..339e3a0 --- /dev/null +++ b/docs/docs/docker/commands.md @@ -0,0 +1,170 @@ +# Команды Docker + +## Введение +Рассмотрим команды, которые необходимо знать для использования Docker. + +Список базовых команд: + +- Справочная страница: +```bash +docker --help +``` +- Версия Dсocker: +```bash +docker version +``` +- Базовая информация о работе Docker: +```bash +docker info +``` + +## Поиск образов + +Поиск можно осуществлять на [сайте образов docker](https://hub.Docker.com/), но иногда можно искать и с помощью команд. + +**Почему это полезно?** Мы быстрее получим необходимый список и сможем выбрать нужный Docker. + +**Обычный поиск:** +```bash +docker search wordpress +``` + +???info "Пример резульата" + ``` + NAME DESCRIPTION STARS OFFICIAL + wordpress The WordPress rich content management system… 5855 [OK] + bitnami/wordpress Bitnami Secure Image for wordpress 281 + bitnamicharts/wordpress Bitnami Helm chart for WordPress 2 + elestio/wordpress Wordpress, verified and packaged by Elestio 6 + secoresearch/wordpress Apache+PHP+Varnish+Wordpress 0 + shinsenter/wordpress 🔋 (PHP / Wordpress) Production-ready Docker… 5 + vulhub/wordpress 4 + chainguard/wordpress Build, ship and run secure software with Cha… 0 + corpusops/wordpress https://github.com/corpusops/docker-images/ 0 + rootpublic/wordpress 0 + centurylink/wordpress Wordpress image with MySQL removed. 14 + erikzenker/wordpress wordpress docker image 0 + arm64v8/wordpress The WordPress rich content management system… 21 + arm32v7/wordpress The WordPress rich content management system… 16 + tutum/wordpress Out-of-the-box Wordpress docker image 42 + amd64/wordpress The WordPress rich content management system… 2 + demyx/wordpress Non-root Docker image running Alpine Linux, … 2 + i386/wordpress The WordPress rich content management system… 1 + ppc64le/wordpress The WordPress rich content management system… 1 + wodby/wordpress Vanilla WordPress container image 2 + itherz/wordpress Wordpress 0 + s390x/wordpress The WordPress rich content management system… 5 + spatialy/wordpress Wordpress + PHP Extensions 0 + arm32v5/wordpress The WordPress rich content management system… 0 + mips64le/wordpress The WordPress rich content management system… 1 + ``` + +Здесь мы получаем список из 4 столбцов: + +- **NAME** Имя +- **DESCRIPTION** Описание +- **STARS** Звезды, которые отображат популярность образов +- **OFFICAL** Помечаються оффициальные образы + +**Аргументы:** + +- `-f` (`--filter`) Вильтрует результат. + - `-f stars=3` больше 3 звезд + - `-f is-offical=true` только оффициальные +- `--format` Преобразование вывода + - `--format {{.Name}}` Имя образа + - `--format {{.StarCount}}` Кол-во звезд + - `--format {{.Description}}` Описание + - `--format {{.IsOffical}}` официальный образ +- `--limit` Ограничивает список до определенного количества + - `--limit 5` Выводит 5 образов +- `--no-trunc` Не сокращенный вариант описания + +**Поиск с аргументами:** +```bash +docker search --limit 5 --format "{{.Name}}: {{.Description}}" --no-trunc wordpress +``` + +???info "Пример результата" + ``` + wordpress: The WordPress rich content management system can utilize plugins, widgets, and themes. + bitnami/wordpress: Bitnami Secure Image for wordpress + bitnamicharts/wordpress: Bitnami Helm chart for WordPress + elestio/wordpress: Wordpress, verified and packaged by Elestio + secoresearch/wordpress: Apache+PHP+Varnish+Wordpress + ``` + +## Установка образа + +Теперь попробуем установить образ **nginx**. + +**Установка образа:** +```bash +docker pull nginx +``` + +???info "Пример вывода" + ``` + Using default tag: latest + latest: Pulling from library/nginx + 02d7611c4eae: Pull complete + dcea87ab9c4a: Pull complete + 35df28ad1026: Pull complete + 99ae2d6d05ef: Pull complete + a2b008488679: Pull complete + d03ca78f31fe: Pull complete + d6799cf0ce70: Pull complete + Digest: sha256:ca871a86d45a3ec6864dc45f014b11fe626145569ef0e74deaffc95a3b15b430 + Status: Downloaded newer image for nginx:latest + docker.io/library/nginx:latest + ``` + +Смотря от загрузки сети, через некоторое время, у нас получиться установить **nginx**. + +!!!note "Обратите внимание" + Оффициальный поставщик образов **Docker** имеет имя **library**. + + Когда мы устанавливаем оффициальные образа, можно не указывать поставщика. + +**Установка определенной версии:** +```bash +docker pull nginx:1.29-trixie +``` + +Под версии в Docker подразумеваеться **Tags**. Теги просматриваються на сайте [hub.docker.com](https://hub.docker.com). В нашем случаше это [данный образ](https://hub.docker.com/_/nginx/tags/). + +К сожалению, с помощью команды **docker** не получаеться просмотреть список версий. Можно с помощью api или, как было написанно выше - на сайте. + +| ![image](../../media/hub.docker.com-nginx-tags.png) | +| :--------: | +| Теги Nginx | + +## Просмотр установленных образов + +После устанвки, можно посмотреть какие образы у нас установлены: +```bash +docker images +``` + +???info "Пример вывода" + ``` + REPOSITORY TAG IMAGE ID CREATED SIZE + ... + nginx latest 058f4935d1cb 10 days ago 152MB + ... + ``` + +У нас выведеться 5 колонок: + +- **REPOSITORY** имя образа (репозитория). Обычно пишеться `имя поставщика/образ` +- **TAG** версия (тег) изображения +- **IMAGE ID** ID изображения +- **CREATED** Когда данный образ обновлялся +- **SIZE** Размер образа + +--- +**📌 Документ в разработке.** Следующие разделы в работе: + +- Управление контейнерами (`run`, `exec`, `logs`, `ps`, `stop`, `rm`) +- Работа с томами (Volumes) +- Сети Docker diff --git a/mkdocs.yml b/mkdocs.yml index bf264c3..1696bd4 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -43,6 +43,7 @@ nav: - 'Docker': 'О проекте': docs/docker/about.md 'Установка': docs/docker/install.md + 'Команды': docs/docker/commands.md - 'Steam Deck': - "Снятие Read Only с корневого раздела": docs/steam-deck/disable-read-only.md - Сервисы: services.md