配置docker容器走win主机代理

1 配置docker容器与win主机的ssh连接

在容器上安装open-ssh并启用ssh服务

修改/etc/ssh/sshd_config,将#PermitRootLogin without-password取消注释,改为PermitRootLogin yes,再将#PasswordAuthentication yes的注释取消,然后service ssh restart重启ssh服务.

查看docker容器的局域网地址

image-20231202191451750

这时候可以在服务器上用ssh连接docker容器了. 此外,我们还可以给容器手动指定ip地址.

image-20231202210824824

然后再用配置跳板机免密登录的方法,win机器的C:/Users/username/.ssh/config添加如下内容

即可在win机器上一键连接docker容器.

image-20231202211542032

2 配置docker容器与win主机的ssh端口转发

首先查看你的代理使用什么端口. 以我用的Clash for Windows为例,端口为7890. 用下面的命令配置端口转发并连接容器

若想在vscode连接时使用端口转发,则在C:/Users/your_username/.ssh/config设置

然后在容器内设置代理,就OK了!

image-20231202213704368

注意以上的操作是一次性的,并非永久,每次登录都要重新设置.