Win10搭建Docker Desktop并安装vim

news2024/12/28 5:52:01

Win10搭建Docker Desktop

1 介绍

  • Docker Desktop是适用于Windows的Docker桌面,是Docker设计用于在Windows 10上运行。它是一个本地 Windows 应用程序,为构建、交付和运行dockerized应用程序提供易于使用的开发环境。Docker Desktop for Windows 使用 Windows 原生 Hyper-V 虚拟化和网络,是在 Windows 上开发 Docker 应用程序的最快、最可靠的方式。Windows 版 Docker 桌面支持运行 Linux 和 Windows Docker 容器。

2 下载

1. 下载exe文件

官方下载地址:Docker Desktop Installer.exe 下载地址
国内镜像:Windows安装包下载地址

在这里插入图片描述

2. 安装WSL2

安装WSL2(Windows Subsystem for Linux:适用于 Linux 的 Windows 子系统体系结构的一个新版本),同时本地win10开启程序

注意:除了通过启用Hyper-v虚拟化的方式在windows中安装Dokcer以外,我们还可以通过安装配置WSL2环境来安装。

  • 此处我们使用WSL2来演示

①进入控制面板,然后点击程序和功能,选择而启动或关闭功能
在这里插入图片描述
②打开适用于Linux的Windows子系统
在这里插入图片描述

3. 双击.exe文件之后,无脑下一步

在这里插入图片描述

4. 安装成功之后,重启

5. 配置镜像地址

在这里插入图片描述

# https://xxxxxx.mirror.aliyuncs.com 配置自己的阿里云镜像
{
  "experimental": false,
  "debug": true,
  "registry-mirrors": [
    "https://xxxxxx.mirror.aliyuncs.com",
    "http://hub-mirror.c.163.com"
  ]
}
  • 配置阿里云镜像地址

阿里云镜像容器服务
在这里插入图片描述

  • 进入管理控制台获取镜像加速器地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
    在这里插入图片描述

在系统右下角托盘图标内右键菜单选择 Settings,打开配置窗口后左侧导航菜单选择 Docker Desktop。编辑窗口内的JSON串,填写下方加速器地址:

在这里插入图片描述

6. 查看docker信息并拉取hello-world镜像

  • 查看docker信息
docker info

在这里插入图片描述

  • 拉取hello-world镜像
docker pull hello-world

在这里插入图片描述

  • 运行镜像,查看结果
docker run hello-world

在这里插入图片描述

3 bug

3.1 WSL2 installation is incomplete

如果遇到报错:windows安装docker desktop WSL2 installation is incomplete
在这里插入图片描述
解决办法:

  1. 首先确保WSL2已经打开
    在这里插入图片描述
  2. 下载更新软件来升级WSL2

4 使用

  • 可视化运行
    在这里插入图片描述
  • 日志查看
    在这里插入图片描述

5 win10安装vim

5.1 下载安装

  • 官网地址:https://www.vim.org/download.php
  • 云盘https://pan.baidu.com/link/zhihu/79hVzeuRhtiEZXZ1JVb2VU5UWrT5ZWLQQEtE==

下载之后选择好路径,无脑下一步

5.2 配置环境变量和代码高亮

  1. 配置环境变量
    在这里插入图片描述
    在这里插入图片描述
  2. 一般来说vim自己会有一套代码高亮,放在安装包下的_vimrc文件
    在这里插入图片描述

大家如果不满意自带的,可以用下面的替换

_vimrc:

set nocompatible
source $VIMRUNTIME/vimrc_example.vim
"source $VIMRUNTIME/mswin.vim
"behave mswin
 
set diffexpr=MyDiff()
function MyDiff()
  let opt = '-a --binary '
  if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
  if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
  let arg1 = v:fname_in
  if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
  let arg2 = v:fname_new
  if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
  let arg3 = v:fname_out
  if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
  let eq = ''
  if $VIMRUNTIME =~ ' '
    if &sh =~ '\<cmd'
      let cmd = '""' . $VIMRUNTIME . '\diff"'
      let eq = '"'
    else
      let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
    endif
  else
    let cmd = $VIMRUNTIME . '\diff'
  endif
  silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
endfunction
 
 
"设置文件的代码形式 utf8
set encoding=utf-8
set termencoding=utf-8
set fileencoding=utf-8
set fileencodings=ucs-bom,utf-8,chinese,cp936
 
"vim的菜单乱码解决
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
 
"vim提示信息乱码的解决
language messages zh_CN.utf-8
 
filetype on
filetype plugin indent on
"colorscheme evening	"配色方案
colorscheme desert
set helplang=cn		"设置中文帮助
set history=500		"保留历史记录
set guifont=Monaco:h10	"设置字体为Monaco,大小10
set tabstop=4		"设置tab的跳数
set expandtab
set backspace=2 	"设置退格键可用
"set nu! 		"设置显示行号
set wrap 		"设置自动换行
"set nowrap 		"设置不自动换行
set linebreak 		"整词换行,与自动换行搭配使用
"set list 		"显示制表符
set autochdir 		"自动设置当前目录为正在编辑的目录
set hidden 		"自动隐藏没有保存的缓冲区,切换buffer时不给出保存当前buffer的提示
set scrolloff=5 	"在光标接近底端或顶端时,自动下滚或上滚
"Toggle Menu and Toolbar 	"隐藏菜单栏和工具栏
"set guioptions-=m
"set guioptions-=T
set showtabline=2 	"设置显是显示标签栏
set autoread 		"设置当文件在外部被修改,自动更新该文件
set tabstop=4         
set softtabstop=4     
set shiftwidth=4     
set expandtab       
set mouse=a 		"设置在任何模式下鼠标都可用
set nobackup 		"设置不生成备份文件
"set go=				"不要图形按钮
set guioptions-=T           " 隐藏工具栏
"set guioptions-=m           " 隐藏菜单栏
 
"===========================
"查找/替换相关的设置
"===========================
set hlsearch "高亮显示查找结果
set incsearch "增量查找
 
"===========================
"状态栏的设置
"===========================
set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%] "显示文件名:总行数,总的字符数
set ruler "在编辑过程中,在右下角显示光标位置的状态行
 
"===========================
"代码设置
"===========================
syntax enable "打开语法高亮
syntax on "打开语法高亮
set showmatch "设置匹配模式,相当于括号匹配
set smartindent "智能对齐
"set shiftwidth=4 "换行时,交错使用4个空格
set autoindent "设置自动对齐
set ai! "设置自动缩进
"set cursorcolumn "启用光标列
"set cursorline "设置高亮当前行(这里我注释了)
hi CursorLine   cterm=NONE ctermbg=darkred ctermfg=white guibg=darkred guifg=white
set guicursor+=a:blinkon0 "设置光标不闪烁
set fdm=indent "
 
 
" 关闭NERDTree快捷键
map <leader>t :NERDTreeToggle<CR>
" 显示行号
let NERDTreeShowLineNumbers=1
let NERDTreeAutoCenter=1
" 是否显示隐藏文件
let NERDTreeShowHidden=1
" 设置宽度
let NERDTreeWinSize=21
" 在终端启动vim时,共享NERDTree
let g:nerdtree_tabs_open_on_console_startup=1
" 忽略一下文件的显示
let NERDTreeIgnore=['\.pyc','\~$','\.swp']
" 显示书签列表
let NERDTreeShowBookmarks=1

inoremap { {}<ESC>i 
hi MatchParen ctermbg=DarkRed guibg=lightblue  
set clipboard=unnamed
set number 
set smartindent

查看结果:
在这里插入图片描述

参考文章:
https://blog.csdn.net/qq_39611230/article/details/108625840
https://zhuanlan.zhihu.com/p/441965046

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/544723.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

shell脚本基本操作及案例

本文介绍了shell脚本的基本建立过程&#xff0c;并举了4个案例。关键是例3的shell脚本检测局域网ip地址机器是否宕机&#xff0c;例4的shell脚本获取本机ip地址 一、第一个shell脚本 1、定义解释器 #&#xff01;/bin/bash echo "hello world" #! 是一个约定的标记…

今天面了个京东拿28K 出来的,让我见识到了测试界的天花板

今年的春招基本已经结束了&#xff0c;很多小伙伴收获不错&#xff0c;拿到了心仪的 offer。 各大论坛和社区里也看见不少小伙伴慷慨地分享了常见的软件测试面试题和八股文&#xff0c;为此咱这里也统一做一次大整理和大归类&#xff0c;这也算是划重点了。 俗话说得好&#…

【Android】基于Airtest实现大麦网app自动抢票程序

0x01 缘起 疫情结束的2023年5月&#xff0c;大家对出去玩都有点疯狂&#xff0c;歌手们也扎堆开演唱会。但演唱会多&#xff0c;票一点也不好抢&#xff0c;抢五月天的门票难度不亚于买五一的高铁票。所以想尝试找一些脚本来辅助抢票&#xff0c;之前经常用selenium和request做…

探索未来智能交通:网联汽车与汽车互联

网联汽车是指配备多种传感器和通信设备&#xff0c;并且能够接入互联网的汽车。这种汽车可以与外部环境进行交互&#xff0c;并利用各种技术&#xff08;如 GPS 导航、娱乐系统、诊断传感器和通信工具等&#xff09;实现数据的传输和接收。 网联汽车能够与其他车辆、交通基础设…

ChatGPT 引发AI服务器霸屏?AI服务器和普通服务器不同在哪?

​  近阶段&#xff0c;由于 ChatGPT 的横空问世&#xff0c;引发 AI 服务器再一次热潮来袭。随之而来的是&#xff0c;越来越多的企业和机构开始关注 AI 服务器和普通服务器之间的区别和对比。那么AI服务器到底是什么意思&#xff0c;它与普通服务器相比又有哪些差异呢? AI…

MySQL高级——第15章_锁

第15章_锁 1. 概述 锁是计算机协调多个进程或线程并发访问某一资源的机制。在程序开发中会存在多线程同步的问题&#xff0c;当多个线程并发访问某个数据的时候&#xff0c;尤其是针对一-些敏感的数据(比如订单、金额等)&#xff0c;我们就需要保证这个数据在任何 时刻最多只…

动态规划进阶

文章目录 状压dp小国王玉米田炮兵阵地 状压dp 小国王 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter;public class Main{static BufferedReader br new Bu…

Day25力扣刷題

131.分割回文串 此題思維和前幾題不一樣&#xff0c;思維容量更大&#xff0c;主要在於返回的時候&#xff0c;還是會取值。 運行代碼&#xff1a; class Solution:def partition(self, s: str) -> List[List[str]]:result[]tt[]def backtrack(s,index):if len(s)index:res…

node.js PM2部署项目

pm2 是什么 pm2 是一个守护进程管理工具,它能帮你守护和管理你的应用程序。通常一般会在服务上线的时候使用 pm2 进行管理。本文围绕以下重点进行讲解&#xff1a;安装pm2&#xff1b;命令行部署到PM2&#xff1b;PM2查看日志等命令&#xff1b;PM2进行负载均衡&#xff1b;PM…

Python心经(4)

这节记录一些内置模块的使用 目录 hashlib模块&#xff0c;&#xff0c;加密用 json模块 os模块 一个实用的案例&#xff1a; os模块的找文件的操作 随机生成random模块 时间相关模块 time&#xff0c;datetime hashlib模块&#xff0c;&#xff0c;加密用 以md5加密…

什么是Spring Cache?Spring项目如何使用?

前言 目前Spring Cloud微服务在Web项目中占据了主流地位&#xff0c;如果去面试关于Spring Cloud的岗位时&#xff0c;面试官一般都会提问你的项目是如何优化的&#xff0c;从哪些方面入手去优化。而缓存技术绝对是项目必不可少的&#xff0c;所以我们必须掌握好Java项目的缓存…

unity 3种办法实现血条效果并实现3d世界血条一直看向摄像机

普通血条栏: 渐变色血条栏: 缓冲血条栏: 3D场景血条栏跟随玩家移动: 普通血条栏: 在Canvas下创建一个空物体HP bar,在空物体下方创建3个Image,分别为血条框bar 黑色,最大HP maxHP 白色,和当前HP currentHP 红色。(PS:注意先后顺序以调整显示的图层) 效果: …

java中排序

1.传统比较器格式 2.stream 3.结果 4.源码 List<String> list Arrays.asList("201305", "200305", "199009", "200208");Collections.sort(list, new Comparator<String>() {Overridepublic int compare(String o1, Stri…

SpringMVC 万字通关

文章目录 1. 什么是 Spring MVC?1.1 MVC 定义1.2 MVC 和 Spring MVC 的关系 2. Spring MVC 有什么用 ?3. 如何学 Spring MVC ?3.1 Spring MVC 的创建3.2 实现连接功能3.2.1 RquestMapping 详解1. RequestMapping 支持什么请求?2. 请求限定3. GetMapping 和 PostMapping4. c…

Sharding-Sphere系列-主从配置和分库分表

主从配置和分库分表 Sharding-Sphere组成 Sharding-JDBC Sharding-Proxy Sharding-Sidecar&#xff08;TODO&#xff09; Sharding-JDBC表的概念 逻辑表 广播表 绑定表 Sharding-JDBC中的分片策略 自动分片算法 标准分片算法 复合分片算法 自定义分片算法 分布式…

Mybatis-Plus 自动属性填充与自定义Insert into语句顺序

前言&#xff1a;系统中使用了Mybatis-Plus 自动属性填充为实体统一进行属性的填值&#xff0c;在Mapper的xml 文件中 insert into 语句 使用 <if test"id ! null">id,</if> 进行判断会发现该属性是空的&#xff0c;明明已经为改字段进行了属性的自动填充…

百度2023年Q1财报解析:AI+生态战略加速助推

原创 | 文 BFT机器人 01 百度靠AI实现翻身 &#xff08;一&#xff09;盈利能力 百度凭借着强大的AI能力&#xff0c;成功地实现了从依赖搜索业务的互联网公司到AI公司的转型。 从盈利能力层面上看&#xff0c;在第一季度&#xff0c;百度实现了营收311.44亿元&#xff0c;同比…

unity愤怒的小鸟学习制作(二)

终于又开始了啦啦啦&#xff0c;我有一个自己的相机了&#xff0c;真开心&#xff0c;诶嘿 视频链接和素材如下&#xff1a;视频 小鸟的飞出 想要让小鸟在拉开弹弓之后能飞出去&#xff0c;就必须让这个组件失活&#xff0c;如下 所以我们更改脚本内容&#xff0c;加入&#…

HarmonyOS应用端云一体化开发主要流程

图示 主要步骤 序号 阶段 任务 说明 1 创建端云一体化开发工程 选择工程类型与云开发模板 确定工程类型&#xff1a;选择“Application”或“Atomic Service”页签&#xff0c;确定创建的是HarmonyOS应用工程还是原子化服务工程。选择云开发模板&#xff0c;包括通用云开…

【FMC202】基于FMC标准的1路CameraLink Full 输入、1路DVI输出 子卡模块

产品概述 FMC202是一款基于FMC接口标准的1路CameraLink Full模式&#xff08;或者2路CameraLink Base模式&#xff09;采集、1路HDMI&#xff08;DVI&#xff09;视频输出的子卡模块&#xff0c;该模块具有2个CameraLink端口&#xff08;SDR&#xff0c;26PIN&#xff09;&…