Вызов docker-compose с помощью ssh-agent - PullRequest
0 голосов
/ 23 мая 2018

Я пытаюсь запустить приложение docker-compose и собрать его из частного GitHub-репозитория.

version: '3'

services:
    my-awesome-app:
        build: git@github.com:Tarocco/my-awesome-app.git:development
    # TODO

Когда я клонирую его вручную, он работает как положено:

# ssh-agent bash -c 'ssh-add /root/.ssh/app_git_rsa && git clone git@github.com:Tarocco/my-awesome-app.git'
Identity added: /root/.ssh/app_git_rsa (/root/.ssh/app_git_rsa)
Cloning into 'my-awesome-app'...
remote: Counting objects: 68, done.
remote: Compressing objects: 100% (60/60), done.
remote: Total 68 (delta 4), reused 67 (delta 3), pack-reused 0
Receiving objects: 100% (68/68), 310.12 KiB | 0 bytes/s, done.
Resolving deltas: 100% (4/4), done.

Но когда я запускаю следующее (часть сценария pull-хука), я ожидаю, что мой ключ развертывания GitHub позволит docker-compose и docker получить доступ к моему личному репозиторию:

# ssh-agent bash -c 'ssh-add /root/.ssh/app_git_rsa && docker-compose build && docker-compose down && docker-compose up -d'
Identity added: /root/.ssh/app_git_rsa (/root/.ssh/app_git_rsa)
Building my-awesome-app
ERROR: error fetching: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
: exit status 128

Вместо этого я просто получаю эту ошибку.Что я делаю не так?

1 Ответ

0 голосов
/ 23 мая 2018

Во-первых, дважды проверьте, как / правильно ли был закрыт личный ключ в вашей папке /root/.ssh (с правильным правом, chmod 600).

Вы можете в своем скрипте добавить ssh -Телевизор git@github.com, чтобы проверить, что вы правильно аутентифицированы GitHub.

Поскольку app_git_rsa не по умолчанию для SSH-ключа, проверьте, является ли ваша локальная корневая учетная запись (вне докера,где работает клон) имеет файл /root/.ssh/config, в котором указано, какой ключ использовать.
Если вы это сделаете, вам также необходимо скопировать этот файл в изображение (через Dockerfile)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...