VS Code基于服务器中的docker的开发环境配置

基于Dev Containers插件

当然可以在vscode中直接下载Dev Containers插件,在连接到服务器之后,在Dev Containers中找到相应的docker连接后直接进行开发。


此时你就会看到你服务器上所有正在运行的docker容器(必须要保证你想要开发的docker容器此时的状态是正在运行),然后点击对应的docker容器连接即可,之后的操作就和remote-ssh连接服务器操作一致了。

基于Jump Machine(跳板机)

跳板机可以理解为将服务器作为一个跳板,然后通过这个跳板连接到服务器中的docker容器。

服务器通过ssh连接docker容器

注意服务器连接docker容器可以直接通过docker exec -it <docker_container> /bin/bash,此处演示用ssh连接docker容器

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

通过上述命令就能连接到docker容器,但是此处需要注意,在连接前docker容器中需要修改一些参数,

vim /etc/ssh/sshd_config

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

然后将服务器的~/.ssh/id_rsa.pub中的公钥添加到docker容器的~/.ssh/authorized_keys文件中,实现免密登录。

VS Code配置ssh config文件连接docker容器

此处以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以及server_docker,点击你想要连接的docker容器即可。

从上面的操作步骤来看,其实两种ssh连接方法是相同的原理,即先连接服务器然后连接docker容器。现在就能用VS Code愉快地进行docker容器开发啦!!!

猜你喜欢

转载自blog.csdn.net/qq_41139677/article/details/131361736
今日推荐