Я хочу переслать свой ssh-агент и нашел это https://github.com/nardeas/ssh-agent
, а следующие шаги
0.Build Перейдите в каталог проекта и запустите следующую команду для создания образа:
docker build -t docker-ssh-agent:latest -f Dockerfile .
1.Запустите долгоживущий контейнер
docker run -d --name=ssh-agent docker-ssh-agent:latest
2.Добавьте ваши ключи ssh Запустите временный контейнер с томом, смонтированным с хоста, который включает ваши ключи SSH.SSH-ключ id_rsa будет добавлен в ssh-agent (вы можете заменить id_rsa именем вашего ключа):
docker run --rm --volumes-from=ssh-agent -v ~/.ssh:/.ssh -it docker-ssh-agent:latest ssh-add /root/.ssh/id_rsa
Контейнер ssh-agent готов к использованию.
3.Добавьте сокет ssh-agent в другой контейнер: Если вы используете docker-compose, вы перенаправляете сокет в контейнер:
volumes_from:
- ssh-agent
environment:
- SSH_AUTH_SOCK=/.ssh-agent/socket
в файле composeЯ добавляю к нему шаг 1 следующим образом:
services:
ssh_agent:
image: nardeas/ssh-agent
Однако я не понимаю, каков эквивалентный синтаксис в создать файл для шага 2
docker run --rm --volumes-from=ssh-agent -v ~/.ssh:/.ssh -it docker-ssh-agent:latest ssh-add /root/.ssh/id_rsa