原理
容器内启动 openssh 服务,并映射端口 22 给外部进行访问,ide访问该端口建立 ssh 通道。
例子
环境准备
- vscode
- 一个 gin 框架实现的demo
步骤
1. 拉取镜像
docker pull 15992686641/ds:v1.0
2. 启动一个容器
docker run -itd --name ds -p 8025:22 -p 30000:30000 ds:v1.0 /bin/bash
- -p 8025:22 映射 ssh 服务
- -p 30000:30000 映射 web 服务
3. 在容器内安装并启动 openssh 服务
- 进入容器 :
docker exec -it <容器 id> /bin/bash - 在容器内安装并启动 openssh 服务
# 安装:
apt-get update&&apt-get -y install openssh-server
# 设置sshroot登录:
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
# 重启ssh服务:
service ssh restart
# 设置root密码:
passwd root
4. 配置 vscode
- 下载插件Remote Explorer
- 添加连接项(mac下连接项配置文件在
~/.ssh/config)
Host container
HostName <服务器 ip>
User root
Port 8025
- 点解连接,一路回车,中间需要输入 root 密码
- 打开代码目录
- 运行 web 服务
打开 vscode 内置终端输入:
go run main.go - 测试服务
打开浏览器输入:
http://<服务器 ip>:30000/test