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. P5683 [CSP-J2019 江西] 道路拆除

    简要题意 给你一个 \(m\) 条边 \(n\) 个点的无向图.你需要去掉一些边,使得 \(1 \to s_1,1 \to s_2\) 连通,且 \(1 \to s_1\) 的最短路径长度小于 \(t ...

  2. BC2-小飞机

    题目描述 KiKi 学会了 printf 在屏幕输出信息,他想输出一架小飞机.请帮他编写程序输出这架小飞机. 输入描述 无 输出描述 解题思路 方案一: 将小飞机的图形按照行进行划分,总共可以分成 6 ...

  3. forms组件渲染标签、展示信息、校验数据的一些补充,forms组件参数和源码剖析,modelform组件,Django中间

    今日内容 forms组件渲染标签 forms组件渲染标签的方式1 <p>forms组件渲染标签的方式1</p> {{ form_obj.as_p }} {{ form_obj. ...

  4. 刷题笔记——1112:C语言考试练习题_一元二次方程

    题目 1112:C语言考试练习题_一元二次方程 代码 import math while True: try: a,b,c=map(float,input().strip().split()) del ...

  5. BUG日记---运行Tomcat报406错误:根据请求中接收到的主动协商头字段,目标资源没有用户代理可以接受的当前表示,而且服务器不愿意提供缺省表示。

    网页报错内容 HTTP Status 406 – 不可接收 Type Status Report 描述 根据请求中接收到的主动协商头字段,目标资源没有用户代理可以接受的当前表示,而且服务器不愿意提供缺 ...

  6. MyBatis的使用八(动态SQL)

    本主要讲述mybatis处理动态sql语句 一. 问题引入 前端展示的数据表格中,查询条件可能不止一个,如何将用户输入的多个查询条件,拼接到sql语句中呢? DynamicMapper接口声明如下 p ...

  7. ATM项目开发

    目录 一.项目开发流程 1.项目需求分析: 2.项目架构设计: 3.项目分组开发: 4.项目提交测试: 5.项目交付上线: 二.项目需求分析 1.主题 2.项目核心 3.项目需求: 4.从需求中提炼出 ...

  8. .net core 前端传递参数有值 后端接收到的数据却是null

    1.问题分析 在做接口测试时,偶然出现了前端输出有值,但是后端断点调试时却出现接收参数总是为null的情况 2.解决办法 前端打印log,看前端的每一个传值的数据类型,与后端请求参数类进行认真的一一比 ...

  9. STM32F0库函数初始化系列:GPIO配置

    1 void GPIO_Configuration(void) 2 { 3 RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE); 4 RCC_AHBP ...

  10. G - 逆序对的数量

    G - 逆序对的数量 原题链接 什么是逆序对? 简单来说,两个数比较,下标小的数反而大,两个数称之为逆序对如\({3,1}\)就是这么一个逆序对 归并排序 由于逆序对逆序的性质,我们可以联想到排序: ...