VsCode轻松使用docker容器-Remote Containers
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插件
- 打开VsCode
- 进入拓展界面
- 搜索"Remote"/"Docker",并安装插件(一般在最前面)
- "Docker"
- "Remote - Containers"
- "Remote - ssh"
操作容器
- 点击VsCode左侧,"docker"图标
- 右键正在运行的容器,点击"Attach Visual Studio Code"
- 如果弹窗提示需要信任,点击"Got It"即可
- 此时会打开新窗口,就进入了容器内
- 点击打开文件/文件夹,直接进行操作即可
远程服务器
开发过程中,往往部署服务会在服务器上,所以需要远程到服务器上部署docker,下面服务器为ubuntu
- 点击VsCode左侧,"远程连接"图标
- 切换为"SSH Targets"
- 点击"+"创建远程连接信息,按提示填入信息
- 创建完成后生成连接选项,右键连接
- 点击VsCode左侧,"拓展"图标
- 将上述三个拓展装到服务器上,即可看到VsCode侧边栏出现容器图标
增加用户权限
- 点击VsCode左侧,"Docker"图标,发现无法连接
- 需要将登陆用户添加到docker用户组中
sudo gpasswd -a <当前登陆用户名> docker
# 例如: sudo gpasswd -a xuxiaocong docker
# 从用户组中删除: sudo gpasswd -d <当前登陆用户名> docker
- 重启服务器即可使用
sudo reboot
- 重启过后即可像在自己电脑中一样,操作docker了
使用SSH key减少输入密码
远程到服务器后,很多操作需要输入密码,使用起来不方便,可以使用SSH key减少密码输入
- 打开本机的cmd,创建SSH key
ssh-keygen
- 打开SSH目录,"C:\Users<用户名>.ssh"
- 可以看到目录下有四个文件,打开公钥"id_rsa.pub"并复制
- 登陆远程服务器
- 打开远程服务器的SSH目录,"/home/<用户名>/.ssh/authorized_keys"
- 没有.ssh目录进新建一个
- 没有authorized_keys文件就新建一个
- 将复制的本机的公钥粘贴到authorized_keys文件中
- 之后再登陆或其他操作就不需要再输入密码了
VsCode轻松使用docker容器-Remote Containers的更多相关文章
- Docker容器和数据可视化管理工具Flocker
Flocker 可轻松实现 Docker 容器及其数据的管理.这是一个数据卷管理器和多主机的 Docker 集群管理工具,你可以通过它来控制数据.可用来在 Docker 中运行你的数据库.查询和 K/ ...
- Docker入门(三):容器(Containers)
这个<Docker入门系列>文档,是根据Docker官网(https://docs.docker.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指 ...
- docker容器的学习
什么是docker Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,于 2013 年 3 月以 Apache 2.0 授权协议开源 ...
- CentOSLinux安装Docker容器
Docker 使用 环境说明 CentOS 7.3(不准确地说:要求必须是 CentOS 7 64位) 不建议在 Windows 上使用 Docker 基本概念 官网:https://www.dock ...
- 【原创】Docker容器及Spring Boot微服务应用
Docker容器及Spring Boot微服务应用 1 什么是Docker 1.1 Docker的出现 问题一:项目实施环境复杂问题 传统项目实施过程中经常会出现“程序在我这跑得好好的,在你那怎么就不 ...
- 通过 Azure Pipelines 实现持续集成之docker容器化及自动化部署
通过 Azure Pipelines 实现持续集成之docker容器化及自动化部署 Intro Azure DevOps Pipeline 现在对于公开的项目完全免费,这对于开源项目来讲无疑是个巨大的 ...
- docker 容器的启动方式
1.Docker 优势: .更高效利用系统资源:由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,Docker 对系统资源的利用率更高.无论是应用执行速度.内存损耗或者文件存储速度,都要比传统 ...
- Docker容器学习梳理 - 日常操作总结
使用Docker已有一段时间了,今天正好有空梳理下自己平时操作Docker时的一些命令和注意细节: Docker 命令帮助 $ sudo docker Commands: attach Attach ...
- Docker容器的原理与实践(上)
本文来自网易云社区. 虚拟化 是一种资源管理技术,将计算机的各种资源予以抽象.转换后呈现出来, 打破实体结构间的不可切割的障碍,使用户可以比原本更好的方式来应用这些资源. Hypervisor 一种运 ...
- Linux 64位 CentOS下安装 Docker 容器,启动、停止
一.Docker简介 Docker 提供了一个可以运行你的应用程序的封套(envelope),或者说容器,是轻量级的“容器引擎+映像仓库”,在LXC(linux轻量级容器)的基础上构建,可以运行任何应 ...
随机推荐
- 【AI编译器原理】系列来啦!我们要从入门到放弃!
随着深度学习的应用场景的不断泛化,深度学习计算任务也需要部署在不同的计算设备和硬件架构上:同时,实际部署或训练场景对性能往往也有着更为激进的要求,例如针对硬件特点定制计算代码. 这些需求在通用的AI框 ...
- 洛谷 P1478 陶陶摘苹果(升级版) 题解
这道题只要会自定义cmp恰当地进行排序,其他部分没有什么大问题. 上代码: 1 #include<bits/stdc++.h> 2 using namespace std; 3 int n ...
- vue基础之keep-alvie保持历史页面数据不变,切换页面后数据不变keep-alvie
1:路由配置文件设置 { path: '/MenuM', component: Layout, redirect: '/MenuM', children: [ { path: 'MenuM', nam ...
- 单实例Primary快速搭建Standby RAC参考手册(19.16 ADG)
环境:Single Instance -> RAC Single Instance: db_name=demo db_unique_name=demo instance_name=demo se ...
- Linux基础介绍
Linux基础介绍 一.运维的本质 运维:运行维护应用程序 岗位需求:自动化运维.DBA.docker+K8s 运维的本质: 1.尽可能保证应用程序24小时不间断运行 2.尽可能保证数据的安全 3.尽 ...
- 局部内部类定义-局部内部类的final问题
局部内部类定义 定义格式: 修饰符 class 外部类名称 { 修饰符 返回值类型 外部类方法名(参数列表){ class 局部内部类名称{// ... } } } 小杰一下类的权限修饰符: publ ...
- 构建api gateway之 如何给openresty打patch
如何给openresty打patch 由于很多功能实现的限制,我们不得不修改openresty,但我们又不一定能持续维护一个 openresty 分支,所有有了patch 这一操作. patch是怎么 ...
- Spring04-AOP(Debug查看执行流程)
1 AOP的几个核心技术 AOP-面向切面编程的实现的核心技术:jvm运行期间对字节码进行修改或者动态生成新的字节码文件(asm技术). 2 AOP的几个核心概念 AOP在运行期间我们要对class文 ...
- 多功能游戏工具箱 - Watt Toolkit V4.4
Watt Toolkit Watt Toolkit 工具箱能够让 Steam 平台的玩家们享受更加出色的游戏体验,工具箱包含多种实用的功能,支持快速切换登录账号,玩家还可以通过这款工具编辑 Steam ...
- Vue3 组件之间的数据传递
1.组件分为:页面级组件和功能组件