热门标签 | 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 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!



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


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





推荐阅读
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • 本文介绍了在Ubuntu下制作deb安装包及离线安装包的方法,通过备份/var/cache/apt/archives文件夹中的安装包,并建立包列表及依赖信息文件,添加本地源,更新源列表,可以在没有网络的情况下更新系统。同时提供了命令示例和资源下载链接。 ... [详细]
  • C++语言入门:数组的基本知识和应用领域
    本文介绍了C++语言的基本知识和应用领域,包括C++语言与Python语言的区别、C++语言的结构化特点、关键字和控制语句的使用、运算符的种类和表达式的灵活性、各种数据类型的运算以及指针概念的引入。同时,还探讨了C++语言在代码效率方面的优势和与汇编语言的比较。对于想要学习C++语言的初学者来说,本文提供了一个简洁而全面的入门指南。 ... [详细]
  • 本文介绍了使用readlink命令获取文件的完整路径的简单方法,并提供了一个示例命令来打印文件的完整路径。共有28种解决方案可供选择。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • STM32与FPGA的对比及学习建议
    本文对比了野火STM32F103指南针板和Xilinx的PYNQ-Z2板(ZYNQ-7020),介绍了野火STM32F103指南针板的学习资料和讲解视频的详细程度,建议初学者学习野火的资料。同时,介绍了STM32开发所用的Keil程序和C指针的重要性。对于ZYNQ-7020的开发,提到了其自带的Linux、Ubuntu18.4系统以及使用SD卡烧入镜像的方法。 ... [详细]
  • 十大经典排序算法动图演示+Python实现
    本文介绍了十大经典排序算法的原理、演示和Python实现。排序算法分为内部排序和外部排序,常见的内部排序算法有插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。文章还解释了时间复杂度和稳定性的概念,并提供了相关的名词解释。 ... [详细]
  • 腾讯安全平台部招聘安全工程师和数据分析工程师
    腾讯安全平台部正在招聘安全工程师和数据分析工程师。安全工程师负责安全问题和安全事件的跟踪和分析,提供安全测试技术支持;数据分析工程师负责安全产品相关系统数据统计和分析挖掘,通过用户行为数据建模为业务决策提供参考。招聘要求包括熟悉渗透测试和常见安全工具原理,精通Web漏洞,熟练使用多门编程语言等。有相关工作经验和在安全站点发表作品的候选人优先考虑。 ... [详细]
  • 使用C++编写程序实现增加或删除桌面的右键列表项
    本文介绍了使用C++编写程序实现增加或删除桌面的右键列表项的方法。首先通过操作注册表来实现增加或删除右键列表项的目的,然后使用管理注册表的函数来编写程序。文章详细介绍了使用的五种函数:RegCreateKey、RegSetValueEx、RegOpenKeyEx、RegDeleteKey和RegCloseKey,并给出了增加一项的函数写法。通过本文的方法,可以方便地自定义桌面的右键列表项。 ... [详细]
  • 本文详细介绍了在Centos7上部署安装zabbix5.0的步骤和注意事项,包括准备工作、获取所需的yum源、关闭防火墙和SELINUX等。提供了一步一步的操作指南,帮助读者顺利完成安装过程。 ... [详细]
  • Python脚本编写创建输出数据库并添加模型和场数据的方法
    本文介绍了使用Python脚本编写创建输出数据库并添加模型数据和场数据的方法。首先导入相应模块,然后创建输出数据库并添加材料属性、截面、部件实例、分析步和帧、节点和单元等对象。接着向输出数据库中添加场数据和历程数据,本例中只添加了节点位移。最后保存数据库文件并关闭文件。文章还提供了部分代码和Abaqus操作步骤。另外,作者还建立了关于Abaqus的学习交流群,欢迎加入并提问。 ... [详细]
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社区 版权所有