Прежде всего, я хочу сказать, что у меня очень ограниченные знания о безопасности и аутентификации.
У меня есть приложение, которое извлекает и запускает контейнеры из магазина докеров. Это частное репо, поэтому мне нужно передать имя пользователя и пароль, чтобы пользователь мог тянуть. На Mac учетные данные для входа сохраняются в связке ключей, и пользователь может открыть свою связку ключей и прочитать пароль в виде обычного текста. Как мне предотвратить это, чтобы пользователи не могли видеть мои учетные данные?
Учетные данные в настоящее время хранятся в виде обычного текста в формате json. Я знаю, что это не очень хорошая практика, но даже если бы он был зашифрован (насколько я понимаю), его нужно было бы расшифровать перед входом в систему, и он сохраняется в цепочке для ключей после входа в систему, поэтому цепочка для ключей все равно будет хранить мои учетные данные .

Вы можете посмотреть Секреты докеров
In terms of Docker Swarm services, a secret is a blob of data, such as a password, SSH private key, SSL certificate, or another piece of data that should not be transmitted over a network or stored unencrypted in a Dockerfile or in your application’s source code. In Docker 1.13 and higher, you can use Docker secrets to centrally manage this data and securely transmit it to only those containers that need access to it. Secrets are encrypted during transit and at rest in a Docker swarm. A given secret is only accessible to those services which have been granted explicit access to it, and only while those service tasks are running.
Docker secrets are only available to swarm services, not to standalone containers. To use this feature, consider adapting your container to run as a service. Stateful containers can typically run with a scale of 1 without changing the container code.