我正在寻找转发我的ssh-agent的发现 https://github.com/nardeas/ssh-agent
步骤如下
0。建立 导航到项目目录并启动以下命令来构建映像:
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
在撰写文件中,我将步骤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
答案 0 :(得分:0)
您可以按照以下步骤进行操作-
docker-compose -f my-docker-compose.yml run --rm ssh_agent bash -c "ssh-add /root/.ssh/id_rsa"
答案 1 :(得分:0)
docker-compose.yml文件将为
services:
ssh_agent:
image: docker-ssh-agent:latest
command: ssh-add /root/.ssh/id_rsa
volumes_from:
- ssh-agent
environment:
- SSH_AUTH_SOCK=/.ssh-agent/socket
volumes:
- ~/.ssh:/.ssh
然后按如下所示运行docker-compose命令
docker-compose -f docker-compose.yml run --rm ssh_agent