Как использовать команду docker secret rm для удаления секретов

DockerDockerBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы научитесь безопасно управлять конфиденциальными данными в Docker с использованием секретов (secrets). Вы начнете с создания Docker-секрета для хранения конфиденциальной информации.

После создания вы убедитесь, что секрет был успешно добавлен в вашу Docker-среду, перечислив существующие секреты. Наконец, вы попрактикуетесь в удалении секрета и подтвердите его удаление, снова перечислив секреты. Это практическое упражнение научит вас использовать основные команды для создания, перечисления и удаления Docker-секретов.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/rm("Remove Container") docker/ContainerOperationsGroup -.-> docker/create("Create Container") subgraph Lab Skills docker/ls -.-> lab-555223{{"Как использовать команду docker secret rm для удаления секретов"}} docker/rm -.-> lab-555223{{"Как использовать команду docker secret rm для удаления секретов"}} docker/create -.-> lab-555223{{"Как использовать команду docker secret rm для удаления секретов"}} end

Создание секрета

На этом этапе вы научитесь создавать секреты (secrets) в Docker. Секреты Docker используются для управления конфиденциальными данными, такими как пароли, SSH-ключи и другие учетные данные, необходимые контейнеру во время выполнения. Использование секретов является более безопасным способом обработки конфиденциальной информации по сравнению с ее прямым хранением в образе контейнера или передачей в виде переменных окружения.

Перед созданием секрета убедимся, что у вас настроена необходимая Docker-среда. В виртуальной машине LabEx Docker уже предустановлен. Вы можете проверить версию Docker, выполнив следующую команду:

docker version

Вы должны увидеть вывод, похожий на этот, что указывает на то, что Docker установлен и запущен:

Client: Docker Engine - Community
 Version:           20.10.21
 API version:       1.41
 Go version:        go1.16.15
 Git commit:        baedd2a
 Built:             Tue Oct 25 17:58:10 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.21
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.15
  Git commit:       363bd3a
  Built:            Tue Oct 25 17:56:32 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.8
  GitCommit:        9cd335e8e55e68bf582ae4525b3a13ffa8a49392
  Built:            Tue Oct 25 17:54:39 2022
 runc:
  Version:          1.1.4
  GitCommit:        v1.1.4-0-g5fd4c4d
  Built:            Tue Oct 25 17:54:25 2022
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
  Built:            Tue Oct 25 17:54:16 2022

Для создания секрета можно использовать команду docker secret create. Эта команда считывает конфиденциальные данные из стандартного ввода или файла и создает секрет в Docker.

Создадим простой секрет с именем my_password, содержащий значение s3cr3t. Мы передадим значение секрета в команду docker secret create с помощью конвейера (pipe).

echo "s3cr3t" | docker secret create my_password -

После выполнения команды Docker создаст секрет и выведет его идентификатор. Вывод будет похож на следующий:

<secret_id>

<secret_id> - это уникальный идентификатор только что созданного секрета. Имейте это в виду, так как вам может понадобиться он для будущих операций.

Перечисление секретов для проверки создания

На этом этапе вы научитесь перечислять существующие секреты (secrets) в Docker, чтобы убедиться, что секрет, созданный на предыдущем этапе, был успешно добавлен.

Для перечисления всех секретов, управляемых Docker, можно использовать команду docker secret ls. Эта команда выводит список секретов, включая их идентификатор, имя и временную метку создания.

Выполним команду, чтобы посмотреть секреты:

docker secret ls

В выводе должен быть виден секрет my_password, созданный на предыдущем этапе, а также его идентификатор и время создания. Вывод будет похож на следующий:

ID                          NAME                CREATED             UPDATED
<secret_id>                 my_password         About a minute ago  About a minute ago

Вы можете увидеть, что секрет my_password отображается в списке, что подтверждает его успешное создание. <secret_id> будет совпадать с идентификатором, выведенным при создании секрета.

Эта команда полезна для управления секретами и обеспечения их правильной настройки в вашей Docker-среде.

Удаление секрета

На этом этапе вы научитесь удалять секреты (secrets) в Docker. Удаление секретов важно для безопасности и очистки вашей Docker-среды, когда секреты больше не нужны.

Для удаления секрета можно использовать команду docker secret rm, за которой следует имя или идентификатор секрета. На предыдущих этапах мы создали секрет с именем my_password.

Удалим секрет my_password:

docker secret rm my_password

После выполнения команды Docker удалит секрет и выведет имя или идентификатор удаленного секрета. Вывод будет похож на следующий:

my_password

Это подтверждает, что секрет my_password был успешно удален из вашей Docker-среды.

Лучшей практикой является удаление секретов, когда они больше не используются, чтобы свести к минимуму риск несанкционированного доступа к конфиденциальной информации.

Перечисление секретов для проверки удаления

На этом этапе вы снова перечислите секреты (secrets) Docker, чтобы убедиться, что секрет my_password, удаленный на предыдущем этапе, больше не присутствует.

Для перечисления всех секретов используйте команду docker secret ls:

docker secret ls

На этот раз в выводе не должно быть секрета my_password. Если в вашей среде не было других секретов, вывод может выглядеть так:

ID                          NAME                CREATED             UPDATED

Если есть другие секреты, вы увидите их в списке, но my_password должен отсутствовать. Это подтверждает, что операция удаления прошла успешно.

Перечисление секретов после удаления - хороший способ убедиться, что конфиденциальные данные больше не хранятся в вашей Docker-среде.

Резюме

В этом практическом занятии (lab) вы научились безопасно управлять конфиденциальными данными в Docker с использованием секретов (secrets). Вы начали с проверки вашей Docker-среды, а затем создали секрет с именем my_password с помощью команды docker secret create, передав значение секрета из стандартного ввода.

После создания секрета вы использовали команду docker secret ls для перечисления существующих секретов и подтверждения успешного создания my_password. Наконец, вы практиковали удаление секрета с помощью команды docker secret rm и проверили его удаление, снова перечислив секреты, тем самым продемонстрировав полный жизненный цикл Docker-секрета.