我想使用VS Code连接到远程容器。假设我在服务器中有一个容器,来自
version: '3.7'
networks:
default:
external:
name: root_default
services:
rstudio_jbs3hp:
volumes:
- /home/jbs3hp:/home/jbs3hp
- /home/sdad:/home/sdad
- /mnt/volume_nyc1_01:/mnt/volume_nyc1_01
- /mnt/volume_nyc1_02:/mnt/volume_nyc1_02
- /etc/passwd:/etc/passwd:ro
- /etc/group:/etc/group:ro
- /etc/shadow:/etc/shadow:ro
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
- /usr/local/bin/docker-compose:/usr/local/bin/docker-compose
ports:
- "31027:8787"
cpus: 5
mem_limit: 10000000000
environment:
- PASSWORD=password
- USER=jbs3hp
- USERID=1027
我可以通过hostname:portnumber(在本例中为RStudio服务器)访问容器。
我想使用VS Code在该容器中本地开发和运行命令。目前,我可以通过ssh配置文件SSH到服务器,
# Read more about SSH config files: https://linux.die.net/man/5/ssh_config
Host sdad
HostName sdad.policy-analytics.net
User jbs3hp
但是,我无法弄清楚应该如何更改配置文件以便通过SSH进入容器而不只是服务器。如果我docker exec
进入容器,则它应该允许一个终端,但不能进行交互式访问。我也查看了https://code.visualstudio.com/docs/remote/containers,但无法理解它应该如何工作。