2019.12.10 22:25更新
用了几天发现,其实不用做端口映射
可以直接通过docker run -it IMAGE_ID bash启动
然后在VSCode中打开REMOTE EXPLORER的CONTAINERS的某个容器

图片来自https://code.visualstudio.com/docs/remote/containers
以下是原文,就不修改了,发布于 2019.12.08 23:13
以docker为例说明
1. 容器环境配置
启动docker并映射端口
docker run -it -p 2222:22 IMAGE_ID
安装SSH
yum install openssh-server -y
重启ssh服务
systemctl restart sshd
注意:
如果上面重启服务报错Failed to get D-Bus connection: Operation not permitted
则尝试在docker的启动命令中添加参数--privileged=true init:
docker run -it -p 2222:22 --privileged=true IMAGE_ID init
参考:Failed to get D-Bus connection: Operation not permitted解决
修改密码
passwd
登录测试
ssh root@127.0.0.1 -p 2222
2. 调试docker中的Python
搜索Remote Development并安装插件

安装Remote Development
ctrl+shift+p运行Remote-SSH: Connect to Host

运行Remote-SSH: Connect to Host
按要求输入配置:ssh root@127.0.0.1 -p 2222

输入ssh命令
然后右下角会弹框

image.png
点击connect会新打开窗口,活动窗口让输入容器的密码

连接到远程
之后在Explorer中就可以打开远程文件了

选择远程文件
点击Extensions,搜索python,点击Install in Remote

安装python插件
注意可能还会让输入密码
点击Debug菜单,选择Add Configuration... -> Python -> Python File(xxx)

选择Add Configuration...

配置debug
最终会生成一个launch.json文件,内容为:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal"
}
]
}
最后写个Python文件试下

Python文件内容
VSCode可能会提示选择Python环境
代码打好断点,在Debug中选择Start Debugging就可以了

debug