Оглавление:
Карта сайта:
Оглавление:
Карта сайта:
Это старая версия документа!
В терминах служб Docker Swarm секрет— это блок данных, например пароль, закрытый ключ SSH, сертификат SSL или другой элемент данных, который не следует передавать по сети или хранить в незашифрованном виде в файле Docker или в исходный код вашего приложения. Вы можете использовать Docker secrets для централизованного управления этими данными и безопасной передачи их только тем контейнерам, которым необходим доступ к ним. Секреты шифруются во время передачи и при хранении в файле Docker swarm. Данный секрет доступен только тем службам, которым был предоставлен явный доступ к нему, и только во время выполнения данных служебных задач.
Вы можете использовать секреты для управления любыми конфиденциальными данными, которые нужны контейнеру во время выполнения, но вы не хотите хранить их в образе или в системе управления версиями, например:
Команда docker secret create считывает стандартный ввод, последний аргумент это файл, из которого нужно считать секрет.
vagrant@server1:~$ nano sec.txt vagrant@server1:~$ docker secret create my_pass sec.txt lr087ew95yv8qps71c0lsvef0
или
vagrant@server1:~$ echo '123456' | docker secret create my_pass - rbx59q8tq3fnkzkt8gf1bewc6 vagrant@server1:~$ docker service create --secret my_pass --name redis redis:latest qlylu89e6punwsqlilrbi6jy1 overall progress: 1 out of 1 tasks 1/1: running [==================================================>] verify: Service converged vagrant@server1:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ddf41e1c1d25 redis:latest "docker-entrypoint.s…" 9 seconds ago Up 9 seconds 6379/tcp redis.1.yw0cxjkqr687ahwezfxkrynan vagrant@server1:~$ docker exec -it redis.1.yw0cxjkqr687ahwezfxkrynan bash root@ddf41e1c1d25:/run/secrets# cd /run/secrets/ root@ddf41e1c1d25:/run/secrets# ls my_pass root@ddf41e1c1d25:/run/secrets# cat my_pass 123456