VsCode轻松使用docker容器-Remote Containers

演示视频:BiliBili

使用docker容器过程中,最常见的操作是进入容器内查看文件、修改配置等操作

  • 以前

使用shell进入容器内,使用linux命令操作

docker ps
docker exec -it <container-id> sh
  • 使用VsCode插件Remote Containers

像VsCode操作本地文件一样去查看文件、修改配置。可以界面化得操作文件,不需要使用shell命令(如:ls cat echo vi等)

安装VsCode插件

  1. 打开VsCode
  2. 进入拓展界面
  3. 搜索"Remote"/"Docker",并安装插件(一般在最前面)
    • "Docker"
    • "Remote - Containers"
    • "Remote - ssh"

操作容器

  1. 点击VsCode左侧,"docker"图标
  2. 右键正在运行的容器,点击"Attach Visual Studio Code"
  3. 如果弹窗提示需要信任,点击"Got It"即可
  4. 此时会打开新窗口,就进入了容器内
  5. 点击打开文件/文件夹,直接进行操作即可

远程服务器

开发过程中,往往部署服务会在服务器上,所以需要远程到服务器上部署docker,下面服务器为ubuntu

  1. 点击VsCode左侧,"远程连接"图标
  2. 切换为"SSH Targets"
  3. 点击"+"创建远程连接信息,按提示填入信息
  4. 创建完成后生成连接选项,右键连接
  5. 点击VsCode左侧,"拓展"图标
  6. 将上述三个拓展装到服务器上,即可看到VsCode侧边栏出现容器图标

增加用户权限

  1. 点击VsCode左侧,"Docker"图标,发现无法连接
  2. 需要将登陆用户添加到docker用户组中
sudo gpasswd -a <当前登陆用户名> docker
# 例如: sudo gpasswd -a xuxiaocong docker
# 从用户组中删除: sudo gpasswd -d <当前登陆用户名> docker
  1. 重启服务器即可使用
sudo reboot

  1. 重启过后即可像在自己电脑中一样,操作docker了

使用SSH key减少输入密码

远程到服务器后,很多操作需要输入密码,使用起来不方便,可以使用SSH key减少密码输入

  1. 打开本机的cmd,创建SSH key
ssh-keygen
  1. 打开SSH目录,"C:\Users<用户名>.ssh"
  2. 可以看到目录下有四个文件,打开公钥"id_rsa.pub"并复制
  3. 登陆远程服务器
  4. 打开远程服务器的SSH目录,"/home/<用户名>/.ssh/authorized_keys"
    • 没有.ssh目录进新建一个
    • 没有authorized_keys文件就新建一个
  5. 将复制的本机的公钥粘贴到authorized_keys文件中
  6. 之后再登陆或其他操作就不需要再输入密码了

最新文章

  1. 【转】JavaScript面向对象
  2. windows SVN搭建
  3. ssh-copy-id(双机互信)
  4. UITbaleView上按钮的单选
  5. Python3.5 queue模块详解
  6. C语言程序设计课程设计自查表格
  7. Mysql(一):初识数据库
  8. python3 函数传参练习 全局变量与局部变量 的理解
  9. 002.AnyCast技术浅析
  10. iOS 开发笔记 cocoapods 配置遇到的问题
  11. vue 父子组件
  12. 《JavaScript设计模式与开发》笔记 2.this指针
  13. 转:HttpModule与HttpHandler详解
  14. Codeforces 468C/469E 易错点
  15. HTML解析利器HtmlAgilityPack
  16. graphql 数据导入工具
  17. python爬虫如何POST request payload形式的请求
  18. Maven学习总结(二):安装
  19. 02 - Unit01:服务器返回数据的json处理+搭建项目环境
  20. &lt;转&gt; win7下破解已安装的VS2008

热门文章

  1. sikulix___自动化办公___重复性_机械性_的电脑操作___python脚本___Java运行环境下德jar包完成自动化测试相关___截图编程控制键盘鼠标
  2. 【C++ 数据结构:链表】二刷LeetCode707设计链表
  3. IOS(XCode)嵌入Unity模块
  4. SQLSERVER 的四个事务隔离级别到底怎么理解?
  5. 【开源】libserial_parse_text:命令行解析的基础库
  6. 力扣---213. 打家劫舍 II
  7. Zookeeper01 简介和单机安装使用
  8. JAVA虚拟机06-垃圾回收及引用类型
  9. 函数式编程:Flutter&amp;Dart中的组合
  10. .NET 8 预览版 1:NativeAOT 升级和新的Blazor United