热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:再见虚拟机!聊聊PC端运行Docker的正确姿势!

篇首语:本文由编程笔记#小编为大家整理,主要介绍了再见虚拟机!聊聊PC端运行Docker的正确姿势!相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了再见虚拟机!聊聊 PC 端运行 Docker 的正确姿势!相关的知识,希望对你有一定的参考价值。







????????关注后回复 “进群” ,拉你进程序员交流群????????


作者丨星安果


来源丨AirPython




1. 前言


大家好,我是安果!


在相当长的一段时间里,PC 端要使用 Linux 系统的方案都是:WMware/Oracle VM VirtualBox + Linux


而现在 Win10 可通过启动 WSL2 来运行 Linux 系统,相当于在 Windows 运行 Linux 子系统,相比传统的虚拟方案运行更流畅


众所周知,Docker 作为一种常见的容器,必须部署在 Linux 内核的系统上


本篇文章,将和大家聊聊 Windows 运行 Docker 的正确姿势


2. 实战一下


详细实现步骤如下


2-1  开启 WSL


PS:WSL2 仅适用于 Windows10 18917 及更高版本


查看系统版本可以通过 Win + R 快捷键,输入 winver 命令查看



确定版本满足后,以管理员权限运行 Windows PowerShell,然后执行下面两条命令开启 WSL


# 开启WSL
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

2-2  安装子 Linux 系统


在 Windows 应用商店搜索关键字 Linux,选择一个系统进行下载


这里,我们下载常用的 Ubuntu 作为子 Linux,运行在 Windows 下


PS:安装完成后,启动子 Linux 后需要按需求输入用户名及密码



2-3  切换 WSL2


通过下面的命令可以查看当前 WSL 的版本


C:\\Users\\xingag>wsl -l
适用于 Linux 的 Windows 子系统分发版:
Ubuntu-18.04 (默认)
# 查看版本
C:\\Users\\xingag>wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-18.04    Stopped         2

如果版本号为 1,使用 wsl --set-version 命令设置版本为 2,切换到 WSL2


# 切换版本
wsl --set-version Ubuntu-18.04 2

需要注意的是,如果切换版本失败,可能需要下载更新 WSL2 的内核组件


下载地址:


https://docs.microsoft.com/en-us/windows/wsl/install-win10#step-4---download-the-linux-kernel-update-package


2-4  启动子 Linux 系统


启动子 Linux 系统有两种方式


  • 命令行输入 wsl 命令

  • 程序菜单启动


启动系统后,就可以像普通 Linux 一样完成其他操作了



2-5  安装 Docker


进入到 Linux 子系统,就可以利用命令安装 Docker 了


这里以开源镜像站点提供的 curl 命令安装 Docker


# 安装docker
curl -skSL https://mirror.azure.cn/repo/install-docker-ce.sh | sh -s -- --mirror AzureChinaCloud

接着通过命令启动 Docker 容器


# 切换root权限
xingag@LAPTOP-ETHCQ2HI:~$ sudo su
# 启动docker
root@LAPTOP-ETHCQ2HI:/home/xingag# service docker start
 * Starting Docker: docker  
# 查看docker版本
docker version                                                                                                                

3. 最后


文章详细描述了 Windows 通过安装子 Linux 系统完成 Docker 安装的详细步骤


实际使用过程中,一些依赖  Linux 环境的项目,完全可以使用这种方式去部署调试


-End-


最近有一些小伙伴,让我帮忙找一些 面试题 资料,于是我翻遍了收藏的 5T 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!



点击????卡片,关注后回复【面试题】即可获取


在看点这里好文分享给更多人↓↓





推荐阅读
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • 本文总结了Linux下多线程执行shell脚本的4种方法,包括切换到工作目录执行、使用绝对路径执行、直接使用bash或sh执行。同时介绍了为什么需要加上"./"来执行脚本的原因。 ... [详细]
  • STM32与FPGA的对比及学习建议
    本文对比了野火STM32F103指南针板和Xilinx的PYNQ-Z2板(ZYNQ-7020),介绍了野火STM32F103指南针板的学习资料和讲解视频的详细程度,建议初学者学习野火的资料。同时,介绍了STM32开发所用的Keil程序和C指针的重要性。对于ZYNQ-7020的开发,提到了其自带的Linux、Ubuntu18.4系统以及使用SD卡烧入镜像的方法。 ... [详细]
  • 本文介绍了在Ubuntu下制作deb安装包及离线安装包的方法,通过备份/var/cache/apt/archives文件夹中的安装包,并建立包列表及依赖信息文件,添加本地源,更新源列表,可以在没有网络的情况下更新系统。同时提供了命令示例和资源下载链接。 ... [详细]
author-avatar
玉萍逸杰762_840
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有