Задать вопрос
Ответы пользователя по тегу bash
  • Как использовать docker secrets в bash скриптах?

    @Hardoman
    DevOps
    Нет смысла защищать секреты внутри контейнеров, как уже было сказано, если есть доступ к контейнеру, их в любом случае раскроют.
    Озаботьтесь тем, чтобы при сборке и деплое контейнера секреты не передавались в открытом виде (в зависимости от инструмента деплоя - разные методы защиты, например в ansible используйте ansible-vault, если docker-compose, используйте файлы, которые маунтят секрет, чтобы не писать в compose файле секрет в открытом виде) :

    version: '3.8'
        secrets:
          db_password:
            file: ./secrets/db_password.txt # Путь к локальному файлу с секретами 
        services:
          database:
            image: postgres
            environment:
              POSTGRES_PASSWORD_FILE: /run/secrets/db_password
            secrets:
              - db_password


    Секрет у вас будет маунтиться в /run/secrets/, но надо все равно использовать внешний файл с паролем.

    В swarm чуть более удобно - пароль берётся из секрета, который создаётся заранее

    docker swarm init
    docker secret create <secret_name> <file_path>

    или
    echo "mysecretvalue" | docker secret create <secret_name> -


    version: '3.8'
        secrets:
          db_password:
            external: true # Указывает, что секрет уже создан в swarm
        services:
          database:
            image: postgres
            environment:
              POSTGRES_PASSWORD_FILE: /run/secrets/db_password
            secrets:
              - db_password
    Ответ написан