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. 之后再登陆或其他操作就不需要再输入密码了

VsCode轻松使用docker容器-Remote Containers的更多相关文章

  1. Docker容器和数据可视化管理工具Flocker

    Flocker 可轻松实现 Docker 容器及其数据的管理.这是一个数据卷管理器和多主机的 Docker 集群管理工具,你可以通过它来控制数据.可用来在 Docker 中运行你的数据库.查询和 K/ ...

  2. Docker入门(三):容器(Containers)

    这个<Docker入门系列>文档,是根据Docker官网(https://docs.docker.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指 ...

  3. docker容器的学习

    什么是docker   Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,于 2013 年 3 月以 Apache 2.0 授权协议开源 ...

  4. CentOSLinux安装Docker容器

    Docker 使用 环境说明 CentOS 7.3(不准确地说:要求必须是 CentOS 7 64位) 不建议在 Windows 上使用 Docker 基本概念 官网:https://www.dock ...

  5. 【原创】Docker容器及Spring Boot微服务应用

    Docker容器及Spring Boot微服务应用 1 什么是Docker 1.1 Docker的出现 问题一:项目实施环境复杂问题 传统项目实施过程中经常会出现“程序在我这跑得好好的,在你那怎么就不 ...

  6. 通过 Azure Pipelines 实现持续集成之docker容器化及自动化部署

    通过 Azure Pipelines 实现持续集成之docker容器化及自动化部署 Intro Azure DevOps Pipeline 现在对于公开的项目完全免费,这对于开源项目来讲无疑是个巨大的 ...

  7. docker 容器的启动方式

    1.Docker 优势: .更高效利用系统资源:由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,Docker 对系统资源的利用率更高.无论是应用执行速度.内存损耗或者文件存储速度,都要比传统 ...

  8. Docker容器学习梳理 - 日常操作总结

    使用Docker已有一段时间了,今天正好有空梳理下自己平时操作Docker时的一些命令和注意细节: Docker 命令帮助 $ sudo docker Commands: attach Attach ...

  9. Docker容器的原理与实践(上)

    本文来自网易云社区. 虚拟化 是一种资源管理技术,将计算机的各种资源予以抽象.转换后呈现出来, 打破实体结构间的不可切割的障碍,使用户可以比原本更好的方式来应用这些资源. Hypervisor 一种运 ...

  10. Linux 64位 CentOS下安装 Docker 容器,启动、停止

    一.Docker简介 Docker 提供了一个可以运行你的应用程序的封套(envelope),或者说容器,是轻量级的“容器引擎+映像仓库”,在LXC(linux轻量级容器)的基础上构建,可以运行任何应 ...

随机推荐

  1. [C++标准模板库:自修教程与参考手册]关于vector

    什么是vector 可以这样认为,vector就是一个动态的数组,其中的元素必须具备assignable(可赋值)和copyable(可拷贝)两个性质. vector的一些重要的性质 vector支持 ...

  2. P4711 「化学」相对分子质量 代码

    #include <bits/stdc++.h> using namespace std; double ret=0; namespace StringUtils { pair<st ...

  3. Xversion 在 macOS12.4

    很多同学发现在macOS12.4上已经不用使用cornerstone 4的svn了 针对macOS12.4,Xversion照样能使用 但是有些时候我们需要提交.a文件,Xversion中又看不到,针 ...

  4. 如何实现在react现有项目中嵌入Blazor?

    如何实现在react现有项目中嵌入Blazor? 目前官方只提供了angular和react俩种示例所以本教程只将react教程 思路讲解: 首先在现有react项目中我们可能某些组件是在Blazor ...

  5. Hugging Face 2023 实习生招募计划

    Hugging Face 2023 实习生招募计划 想参与到 <王婆卖瓜>「最酷的 AI 社区」</王婆卖瓜>,共同构建未来吗?今天,我们为大家分享 Hugging Face ...

  6. SQLSERVER 的四个事务隔离级别到底怎么理解?

    一:背景 1. 讲故事 在有关SQLSERVER的各种参考资料中,经常会看到如下四种事务隔离级别. READ UNCOMMITTED READ COMMITTED SERIALIZABLE REPEA ...

  7. 12月1日内容总结——表单标签知识补充、css介绍、css选择器和选择器的优先级、css样式调解

    目录 一.表单标签的补充说明 1.用于获取用户数据的标签至少应该含有name属性 2.如果不需要用户填写数据 只需要选择 那么我们需要自己填写value 3.针对input标签理论上应该配一个labe ...

  8. Matlab导入多个.mat文件进行画图

    目录 0. 实验背景 1. 导入.mat文件存储 1.1 导入.mat文件及作图最简单的方式: 1.2 导入.mat文件及作图的脚本代码 2. plot画图总结 2.1 画散点图 2.1.1 点形状 ...

  9. P34_数据请求 - GET和POST请求

    网络数据请求 小程序中网络数据请求的限制 出于安全性方面的考虑,小程序官方对数据接口的请求做出了如下两个限制: 只能请求 HTTPS 类型的接口 必须将接口的域名添加到信任列表中 配置 request ...

  10. XML02

    组成部分: 1. 文档声明 1. 格式: 2. 属性列表: * version:版本号,必须的属性 * encoding:编码方式.告知解析引擎当前文档使用的字符集,默认值:ISO-8859-1 * ...