利用VSCode集成并连接远程Linux服务器上的Docker

利用VSCode集成并连接远程服务器Docker

  • 为什么要使用VSCode管理docker

为什么要使用VSCode管理docker

官网地址:https://code.visualstudio.com/docs/containers/overview
The Docker extension makes it easy to build, manage, and deploy containerized applications from Visual Studio Code.
Docker扩展使得从Visual Studio Code构建、管理和部署容器化应用变得很容易。

利用VSCode集成并连接远程Linux服务器上的Docker_第1张图片

对于桌面用户来说,在Windows上安装并使用docker是再好不过的事情了,但windows 10上安装docker,但Windows上安装docker 会存在两个问题:
1.windows中的docker 内核还是windows系统,在程序运行过程中因为内核问题不兼容
2.window10自带的Hyper-V会和VMware冲突,对于习惯使用VMware虚拟机的同学来说就有点鱼与熊掌不可兼得的复杂心情了。
笔者正是在这个情况下尝试在VMware的centos虚拟机中安装docker,然后利用本地VScode连接虚拟服务器中的docker,这样就完美的解决上述的问题

安装过程参考:https://segmentfault.com/a/1190000023095631 基本上已经很详细了

  1. 在windows上安装docker客户端
    docker客户端下载地址: https://github.com/StefanScherer/docker-cli-builder/releases/
  2. 远程docker 服务启用端口2375的监听,供远程访问
    在远程linux 服务器/etc/docker/daemon.json文件中配置如下(没有这个文件就新建,docker启动时会自动加载):
{
  "hosts": ["tcp://0.0.0.0:2357","unix:///var/run/docker.sock"]
}
  • ps: 当然可以配置到dockerd 启动参数中
    配置完加载并重启docker
 systemctl daemon-reload
 systemctl restart docker.service 
  1. 在Windows10上生成密钥对
    ssh-keygen #一路回车
ssh-copy-id  192.168.254.128   #复制秘钥到远程服务器
  1. docker context
    一个Docker CLI 可以有多个context 。每个context 包含管理不同集群或节点所需的所有端点和安全信息。docker context命令可以很容易地配置这些上下文并在它们之间进行切换。简单来说就是docker context 可以管理多个docker服务,不管是本地,还是远程,甚至是swarm 或者 kubernetes 集群 例如:
docker context create docker-test \
  --default-stack-orchestrator=swarm \
  --docker host=unix:///var/run/docker.sock

docker 创建context

docker context create <context name> --docker "host=ssh://@" 

docker context ls ##查看所有context
在这里插入图片描述

docker context use <context name>   ##切换至制定context  
docker version  #查看连接信息

利用VSCode集成并连接远程Linux服务器上的Docker_第2张图片
5. vscode 安装docker 插件
利用VSCode集成并连接远程Linux服务器上的Docker_第3张图片

ssh 设置可能报错,解决办法如下

Set-Service ssh-agent -StartupType "Automatic"
Start-Service ssh-agent

除过上述方法之外,vscode也可以通过连接远程服务器的方式管理远程docker 。
方法:
安装Remote - SSH插件 直接使用vscode “远程资源管理器” 连接远程linux 服务器,然后使用docker插件再使用docker 管理,这种方式不需要额外配置,vscode 会自动连接到远程linux并再linux服务器上自动安装下载相关配置,等一切就绪你就可以在本地使用vscode操作远程linux了
利用VSCode集成并连接远程Linux服务器上的Docker_第4张图片

你可能感兴趣的:(docker,docker,vscode,windows)