VS Code는 서버에서 docker의 개발 환경 구성을 기반으로 합니다.

Dev Containers 플러그인 기반

물론 vscode에서 Dev Containers 플러그인을 직접 다운로드할 수 있으며, 서버에 접속한 후 Dev Containers에서 해당 도커 연결을 찾아 직접 개발합니다.


이 시점에서 서버에서 실행 중인 모든 도커 컨테이너를 볼 수 있으며(개발하려는 도커 컨테이너가 현재 실행 중인지 확인해야 함) 해당 도커 컨테이너를 클릭하여 연결하면 후속 작업이 진행됩니다. 원격 ssh 연결 서버 작동과 일치합니다.

점프 머신 기반

스프링보드 머신은 서버를 스프링보드로 사용하고 이 스프링보드를 통해 서버의 도커 컨테이너에 연결하는 것으로 이해할 수 있습니다.

서버는 ssh를 통해 도커 컨테이너에 연결합니다.

서버는 도커 컨테이너에 직접 연결할 수 있습니다 docker exec -it <docker_container> /bin/bash. 다음은 ssh를 사용하여 도커 컨테이너에 연결하는 데모입니다.

ssh -p <port> [email protected]
# 注意此处的<port>是指docker容器22端口映射到本地的端口
# 即在创建docker容器的时候 docker run -it -p <host_port>:22 ......
# 此处的<host_port>就是指上述命令中的<port>

위의 명령어를 통해 도커 컨테이너에 접속할 수 있는데, 여기서 주의할 점은 접속하기 전에 도커 컨테이너에서 일부 파라미터를 수정해야 한다는 점이다.

vim /etc/ssh/sshd_config

PubkeyAuthentication yes # 启用公钥私钥配对认证方式
PermitRootLogin yes # root能使用ssh登录
port=22 # 开启22端口

그런 다음 서버의 공개 키를 ~/.ssh/id_rsa.pub도커 컨테이너의 파일에 추가하여 ~/.ssh/authorized_keys비밀 없는 로그인을 실현합니다.

VS Code는 도커 컨테이너에 연결하도록 ssh 구성 파일을 구성합니다.

여기에서는 macOS를 예로 들어 먼저 홈 디렉토리에서 ~/.ssh/config파일을 찾습니다.

# 配置服务器作为跳板机
Host server  # 自定义即可
	User <username>
	HostName <server_ip>
	Port <port>  # 此处<port>是指服务器的ssh端口(默认是22)
	IdentityFile ~/ssh/id_rsa  # 如果是私钥连接服务器,则需要本地私钥文件

# 利用跳板机连接docker容器
Host server_docker  # 自定义即可
	User root
	HostName 127.0.0.1
	Port <map_port>  # docker容器22端口映射到server服务器的端口
	ProxyCommand ssh -W %h:%p server  # 此处的server是跳板机的名字 必须和跳板机的Host后面的名称一致

이 시점에서 VS Code의 remote-ssh 플러그인 아래에 구성된 서버 및 server_docker가 표시됩니다. 연결하려는 도커 컨테이너를 클릭하기만 하면 됩니다.

위의 작업 단계에서 실제로 두 ssh 연결 방법은 동일한 원칙을 가지고 있습니다. 즉, 서버에 먼저 연결한 다음 도커 컨테이너에 연결합니다. 이제 VS Code로 도커 컨테이너를 즐겁게 개발할 수 있습니다!!!

추천

출처blog.csdn.net/qq_41139677/article/details/131361736