一、配置vscode
1、vscode安装remode-development
2、点击左侧,新增SSH Targets配置文件
# Read more about SSH config files: https://linux.die.net/man/5/ssh_config
Host 任意命名
HostName ip
User user
Port port
Host docker容器名
HostName ip
User 容器user
Port mapped_port
二、设置docker,在container中配置ssh
假设:我在配置ssh时,docker镜像已经生成,所以要在docker run 时候指定端口映射
1、在docker run 添加-p 参数,指定端口映射
// docker_start.sh
docker run -it \
-p 10022:22 \
-e PATH=/usr/local/anaconda3/bin:$PATH \
... bash
2、修改容器内root密码
root@container_id passwd
3、容器内安装openssh-server与openssh-client
root@container_id apt-get install openssh-server
root@container_id apt-get install openssh-client
4、修改ssh配置文件
vim /etc/ssh/sshd_config
# PermitRootLogin prohibit-password # 默认打开 禁止root用户使用密码登陆,需要将其注释
RSAAuthentication yes #启用 RSA 认证
PubkeyAuthentication yes #启用公钥私钥配对认证方式
PermitRootLogin yes #允许root用户使用ssh登录
5、启动sshd服务
/etc/init.d/ssh restart
6、control+q+p退出容器,测试连接
ssh root@ip -p mapped_port //mapped_port 10022, ip 为宿主机ip
输入密码成功进入容器内部即配置成功
三、vscode中ssh访问容器
注意:此时容器不可以关闭,若容器正在运行但是访问错误,可以尝试到容器内重启sshd服务
1、点击Connect to Host in New Window
2、输入刚才在docker内设置的密码即连接成功
参考:
1:vscode连接docker远程调试 https://blog.csdn.net/DCGJ666/article/details/108536065
2:pycharm 远程连接docker容器调试程序 https://blog.csdn.net/hanchaobiao/article/details/84069299