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. Quarkus入门体验,22ms启动一个Web服务

    简介 Quarkus是类似于Spring Boot的框架,可以方便大家进行Java开发.利用GraalVM的魔力,能更好的适应云原生的场景,极快的启动速度. 创建项目 在IDEA就直接有创建Quark ...

  2. 构建api gateway之 如何给openresty打patch

    如何给openresty打patch 由于很多功能实现的限制,我们不得不修改openresty,但我们又不一定能持续维护一个 openresty 分支,所有有了patch 这一操作. patch是怎么 ...

  3. wsl ubuntu vscode 安装 Fira Code

    如果使用windows terminal(其实就是powershell)那么只需要在windows 中安装 Fira Code 即可,但是如果需要让wsl 中的vscode 也用Fira Code 就 ...

  4. CNCF社区首个!KubeEdge达到软件供应链SLSA L3等级

    摘要:在v1.13.0版本中,KubeEdge项目已达到 SLSAL3等级(包括二进制和容器镜像构件),成为CNCF社区首个达到SLSA L3等级的项目. 本文分享自华为云社区<CNCF社区首个 ...

  5. Python关键字 asynico

    同步和异步 同步和异步是指程序的执行方式.在同步执行中,程序会按顺序一个接一个地执行任务,直到当前任务完成.而在异步执行中,程序会在等待当前任务完成的同时,执行其他任务. 同步执行意味着程序会阻塞,等 ...

  6. ROS入门:话题

    1.listener.cpp #include "ros/ros.h" #include "std_msgs/String.h" //回调函数,接收到话题后进入 ...

  7. kali linux破解wifi密码-超详细过程

    前期准备VMware Workstation虚拟机在虚拟机安装好kail linunx系统无线网卡(芯片为3070或者1887L都支持Linux)一.打开终端,用airmon-ng命令查看如果出现无法 ...

  8. vue开发大屏项目屏幕适配问题解决方案

    1.新建自定义指令文件如下: 2.文件中插入一下代码: import { App, Directive, DirectiveBinding, nextTick } from 'vue' import ...

  9. Powershell获取当前文件夹内所有一级子文件夹大小

    需求:查看Windows某个文件夹所有一级子文件夹大小,并按照从大到小排序 解决方案:使用Powershell脚本 脚本内容如下 function filesize () {   [string]$f ...

  10. CF1367E Necklace Assembly

    题目传送门 思路 提供一种比现有的两篇题解都简单的方法. 我们枚举答案,发现最终的答案数组一定是由多个完全相同的块组成的,并且块长必定是 \(k\) 的因数. 然后我们考虑枚举答案 \(i\),那么此 ...