我想转发我的ssh代理并找到这个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:latest2.添加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_rsassh代理容器现在可以使用了。
3.将ssh代理套接字添加到其他容器:-如果您使用的是docker-复合-这是如何将套接字转发到容器:
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发布于 2019-05-10 05:34:13
你可以在下面这样做-
docker-compose -f my-docker-compose.yml run --rm ssh_agent bash -c "ssh-add /root/.ssh/id_rsa"发布于 2019-05-10 05:45:10
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-复合命令
docker-compose -f docker-compose.yml run --rm ssh_agenthttps://stackoverflow.com/questions/56071196
复制相似问题