#ubuntu #docker-compose #gcloud
# #ubuntu #docker-compose #gcloud
Вопрос:
После выполнения инструкций по настройке реестра артефактов в командной строке gcloud всякий раз, когда я использую docker-compose и пытаюсь извлечь изображение из реестра, появляется эта трассировка стека:
Pulling **** (europe-west2-docker.pkg.dev/****/****/****:latest)...
ERROR: gcloud failed to load: /tmp/_MEIsEW5sl/libssl.so.1.1: version `OPENSSL_1_1_1' not found (required by /usr/lib/python3.8/lib-dynload/_ssl.cpython-38-x86_64-linux-gnu.so)
gcloud_main = _import_gcloud_main()
import googlecloudsdk.gcloud_main
from googlecloudsdk.calliope import base
from googlecloudsdk.calliope import arg_parsers
from googlecloudsdk.core import log
from googlecloudsdk.core import properties
from googlecloudsdk.core import config
from oauth2client import client
from oauth2client import transport
import httplib2
from httplib2.python3.httplib2 import *
import ssl
import _ssl # if we can't import it, let the error propagate
This usually indicates corruption in your gcloud installation or problems with your Python interpreter.
Please verify that the following is the path to a working Python 2.7 or 3.5 executable:
/usr/bin/python3
If it is not, please set the CLOUDSDK_PYTHON environment variable to point to a working Python 2.7 or 3.5 executable.
If you are still experiencing problems, please reinstall the Cloud SDK using the instructions here:
https://cloud.google.com/sdk/
Traceback (most recent call last):
File "docker/credentials/store.py", line 80, in _execute
File "subprocess.py", line 411, in check_output
File "subprocess.py", line 512, in run
subprocess.CalledProcessError: Command '['/usr/bin/docker-credential-gcloud', 'get']' returned non-zero exit status 1.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "docker/auth.py", line 264, in _resolve_authconfig_credstore
File "docker/credentials/store.py", line 35, in get
File "docker/credentials/store.py", line 93, in _execute
docker.credentials.errors.StoreError: Credentials store docker-credential-gcloud exited with "".
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "bin/docker-compose", line 3, in <module>
File "compose/cli/main.py", line 67, in main
File "compose/cli/main.py", line 126, in perform_command
File "compose/cli/main.py", line 1070, in up
File "compose/cli/main.py", line 1066, in up
File "compose/project.py", line 615, in up
File "compose/service.py", line 356, in ensure_image_exists
File "compose/service.py", line 1267, in pull
File "compose/progress_stream.py", line 99, in get_digest_from_pull
File "compose/service.py", line 1234, in _do_pull
File "docker/api/image.py", line 396, in pull
File "docker/auth.py", line 48, in get_config_header
File "docker/auth.py", line 324, in resolve_authconfig
File "docker/auth.py", line 235, in resolve_authconfig
File "docker/auth.py", line 281, in _resolve_authconfig_credstore
docker.errors.DockerException: Credentials store error: StoreError('Credentials store docker-credential-gcloud exited with "".')
[14339] Failed to execute script docker-compose
Я, честно говоря, не могу понять, что там происходит не так. Я использую Ubuntu 20.04 LTS. В моей системе установлен OpenSSL 1.1.1f.
Ответ №1:
Это устраняет проблему для Python 3:
export LD_LIBRARY_PATH=/usr/local/lib
В этом восходящем комментарии содержится подробное объяснение того, почему разрешенное LD_LIBRARY_PATH
значение неверно и нуждается в изменении.
Комментарии:
1. Это исправило мою проблему в WSL2
2. Исправлена моя проблема в Ubuntu 21.10
3. Исправлена моя проблема в PopOs 21.04
4. Он работал с Ubuntu 20,4
5. Исправлена моя проблема с gcp cloudshell
Ответ №2:
Итак, в docker-compose есть проблема, которая дает некоторые решения этой проблемы. Похоже, что обновление Google Cloud SDK нарушило исправление, выпущенное командой docker. Временное решение, приведенное здесь, устранило мою проблему:
export CLOUDSDK_PYTHON=python2
Комментарии:
1. Это решило проблему и для меня! Я использую WSL2 с docker и пытаюсь
docker-machine
извлечь некоторые изображения.2. Это также решило мою проблему в Arch Linux.
Ответ №3:
Я использовал gcloud-sdk 301.x.x и столкнулся с той же проблемой. Обходным решением является понижение версии Google-cloud-sdk.
sudo apt install google-cloud-sdk=297.0.1-0
Связанная проблема с GitHub здесь