# #linux #docker #docker-compose #gitlab
Вопрос:
Я установил gitlab-runner, который по умолчанию создает пользователя gitlab-runner в системе и добавляет его в группу docker. Я решил попробовать войти в систему docker из учетной записи оболочки gitlab-runner, чтобы выяснить причину, по которой я получаю ошибку при входе в свой конвейер. Я заметил, что при попытке выйти из моего пользователя по умолчанию freshuser из всей системы через графический интерфейс и войти в систему с пользователем gitlab-runner это работает, и он предлагает мне написать кодовую фразу, но когда я являюсь системным пользователем по умолчаниюновый пользователь Я не получаю запрос парольной фразы для помощника docker-credential-pass. Поэтому я попытался войти в систему, и он сохранил пароль. То же самое, когда я хотел создать ключ для хранения учетных записей docker с помощью GnuPG, запрос пароля не будет отображаться только при входе в систему с помощью gitlab-runner. Обратите внимание, что это тоже происходит при нажатии в реестр контейнеров. Кто-нибудь может сказать мне, что происходит, я в замешательстве?
Я продолжаю получать эту ошибку:
Traceback (most recent call last):
File "/usr/lib/python3.9/site-packages/docker/credentials/store.py", line 79, in _execute
output = subprocess.check_output(
File "/usr/lib/python3.9/subprocess.py", line 424, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "/usr/lib/python3.9/subprocess.py", line 528, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/usr/bin/docker-credential-pass', 'get']' returned non-zero exit status 1.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.9/site-packages/docker/auth.py", line 264, in _resolve_authconfig_credstore
data = store.get(registry)
File "/usr/lib/python3.9/site-packages/docker/credentials/store.py", line 35, in get
data = self._execute('get', server)
File "/usr/lib/python3.9/site-packages/docker/credentials/store.py", line 93, in _execute
raise errors.process_store_error(e, self.program)
docker.credentials.errors.StoreError: Credentials store docker-credential-pass exited with "exit status 2: gpg: decryption failed: No secret key".
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/bin/docker-compose", line 33, in <module>
sys.exit(load_entry_point('docker-compose==1.29.2', 'console_scripts', 'docker-compose')())
File "/usr/lib/python3.9/site-packages/compose/cli/main.py", line 81, in main
command_func()
File "/usr/lib/python3.9/site-packages/compose/cli/main.py", line 203, in perform_command
handler(command, command_options)
File "/usr/lib/python3.9/site-packages/compose/metrics/decorator.py", line 18, in wrapper
result = fn(*args, **kwargs)
File "/usr/lib/python3.9/site-packages/compose/cli/main.py", line 862, in push
self.project.push(
File "/usr/lib/python3.9/site-packages/compose/project.py", line 828, in push
service.push(ignore_push_failures)
File "/usr/lib/python3.9/site-packages/compose/service.py", line 1260, in push
output = self.client.push(repo, tag=tag, stream=True)
File "/usr/lib/python3.9/site-packages/docker/api/image.py", line 480, in push
header = auth.get_config_header(self, registry)
File "/usr/lib/python3.9/site-packages/docker/auth.py", line 47, in get_config_header
authcfg = resolve_authconfig(
File "/usr/lib/python3.9/site-packages/docker/auth.py", line 324, in resolve_authconfig
return authconfig.resolve
_authconfig(registry)
File "/usr/lib/python3.9/site-packages/docker/auth.py", line 235, in resolve_authconfig
cfg = self._resolve_authconfig_credstore(registry, store_name)
File "/usr/lib/python3.9/site-packages/docker/auth.py", line 280, in _resolve_authconfig_credstore
raise errors.DockerException(
docker.errors.DockerException: Credentials store error: StoreError('Credentials store docker-credential-pass exited with "exit status 2: gpg: decryption failed: No secret key".')
ОБНОВЛЕНИЕ: Я попытался добавить пользователя gitlab-runner в группу системных пользователей по умолчанию, но все равно безуспешно.
Запрос парольной фразы, который я получаю при входе в систему из учетной записи gitlab-runner:
Ответ №1:
Я только что нашел ответ отсюда, мне пришлось добавить gitlab-runner в список управления, чтобы иметь возможность использовать дисплей:
https://askubuntu.com/questions/654966/enable-x-display-access-for-local-user