关于使用docker在windows上搭建Linux环境

在Window10中使用Docker搭建Linux并配置并发版环境

大部分人在window中搭建Linux环境的主要方法可能是双系统或虚拟机,最近接触到Docker(一种新兴的虚拟化技术,可以快速有效的配置出各个版本的开发环境),在此就接触、了解、安装、使用历程谈谈体验。

一.熟悉并理解Docker

首先在理解docker之前先阐述一个概念:容器
很多人在windows平台使用过虚拟机,但对容器的概念很陌生,比如传统虚拟机VMware,需要模拟出整台机器包括底层硬件,每台对应的虚拟机需要自己的操作系统,开启后也会占用对应的(预分配的)资源。
而容器技术则是共享宿主机的底层硬件及操作系统,动态的进行资源分配,在用户空间中以分离的进程运行。容器技术作为操作系统虚拟化的一种途径,可以打包应用程序的代码、配置以及依赖关系,从而达到环境的一致性、版本的一致性。
Docker作为Linux容器的封装,提供了特别简便的容器作为接口。 换言之,Linux容器并不模拟完整的操作系统,而是对单一进程进行隔离,对容器里的进程来说,它所接触的资源都是虚拟的,进而实现与底层系统的额隔离。
Docker相比传统虚拟机方式具有许多优势:
轻量、启动快速、占用资源少、系统利用率高、高可用和高恢复性。
对于在Docker中的三个基本概念:
1.Image(镜像)
镜像,从本质上认识,是作为提供容器运行所需的程序、库、资源配置的一个文件系统。镜像不保存任何用户动态数据,其内容在构建之后也不会改变。
2.Container(容器)
容器,类似与作为类的镜像所创建的实例,这个依据镜像的模板所创建的实体。容器可以拥有自己的root文件系统、自己的网络配置、自己的进程空间。容器内部的进程运行于一个隔离的环境。
3.Repository(仓库)
仓库,类比git的仓库,作为用户上传下载的公共站。在构建完成镜像后,可以轻易在宿主机上运行,但要在其他服务器上使用同个镜像,则需要进行上传、分发,这就是Docker Registry的作用。
更多详情:gitbook/docker_practice

二.安装Docker

Win10
Docker官网下载Install Docker Desktop on Windows
Docker仅支持Windows 10 Pro且需要开启Hyper-v。
控制面板-程序与功能-启用或关闭Windows功能

请务必确认勾选Hyper-V后再下载Docker安装包。
PS:若无 window 10 Pro 请自行查询激活码或前往某宝搜索。家庭版可凭激活码直接升级专业版无需重装系统。

若成功安装,则应该出现以下界面:

进入下方官网hub.docker.com进行注册登录即可。
登录成功如下图所示:(请忽略已有的镜像)

PS:若安装完成后,在启动过程中遇到Failed to set version to docker-desktop:exit code:-1
会出现以下错误:

可以参考:https://zhuanlan.zhihu.com/p/151392411
因为当时在安装过程中就碰到了这种情况,查了好多资料弄了好久才发现是因为LSP DLL加载到了wsl.exe中才导致WSL 2出现“参考的对象类型不支持尝试的操作”。

至此,安装到此结束,以下将进行环境搭建…

三.Linux发行版镜像下载及相关软件(vim\gcc\gdb)的下载

由于docker官方服务器在国外,所以要通过阿里网易等加速器进行pull镜像。
直接右键运行中的docker进入setting,如下在registry-mirrors一栏后加入地址即可:

Apply并Restart Docker
现在,进入到window终端Terminal:
查看docker 版本:

pull CentOS 镜像:(以CentOS举例,若要pull其他并行版(ubuntu等)请自行更改)

查看目前镜像:

运行当前镜像:

可以看到终端字头已经变成了[root@c5be11115e53/]#了(c5be11115e53为容器id),这意味这镜像已经创建了容器实例,至此已进入容器。

查看容器状态:

接下来将在此容器中安装vim\gcc\gdb等编辑编译调试环境:
直接通过指令安装:

查看vim\gcc\gdb版本(是否成功安装):

至此,vim/gcc/gdb基本环境搭建成功。
但别忘了将保存环境,不然你下次重新打开,此镜像将重置为初始centos镜像(不保存用户动态数据)。
先退出容器,运用commit命令保存镜像环境配置:

其中,-m指定说明信息;-a指定用户信息;85918ed65ed4代表容器的id;***/centos:latest指定目标镜像的用户名、仓库名和 tag 信息。用户名使用注册docker时的id即可。
此后,可以直接启动新创建的镜像:

请自行更换命令中的仓库名及id即可。
若想在宿主机上配置后在其他服务器使用?那就push到docker hub 中:

下次在其他服务器上,直接安装好docker,配置好加速器,登录自己的账号,直接docker pull ***/centos:latest即可把你现在push到docker hub中的镜像pull下来。若需要再更新环境配置,再同理进行push即可。

结语

至此本文已经结束,这只是一篇简单的分享,有错请大佬们及时指正,想要再深入docker及linux环境编程就靠自己啦!

References

https://blog.csdn.net/S_gy_Zetrov/article/details/78164266
https://blog.csdn.net/bskfnvjtlyzmv867/article/details/81044217
https://www.cnblogs.com/ECJTUACM-873284962/
https://blog.csdn.net/weixin_45413689/article/details/111567875

来源:https://www.icode9.com/content-3-827951.html

(0)

相关推荐

  • docker学习15-Docker 使用修改后容器来创建镜像

    前言 前面讲通过 Dockefile 可以制作自己的镜像,通过镜像创建容器启动服务,有时候需要修改容器里面的内容,比如我们想改点BUG. 我们可以直接在容器里面修改,验证通过后,基于现有的容器创建一个 ...

  • (3条消息) Centos7下安装Docker(详细安装教程)

    一,Docker简介 百科说:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙 ...

  • 初识Docker

    时间 主题 7.23(周二)14:00 Selenium环境搭建与原理 7.24(周三)20:00 Docker使用 软件开发最大的麻烦事之一,就是环境配置.用户计算机的环境不相同,可能导致软件无法运 ...

  • Docker 深入浅出

    Docker 概述 Docker 为什么会出现 我们在学习 Docker 之前,可以先来思考一下 Docker 为什么会出现? 如果大家已经接触过编程,并且自己上线过项目.可能会遇到一个问题,就是自己 ...

  • 你管这玩意叫双系统?直接在 Windows 上体验 Linux

    Windows上可以玩Linux了,酷不酷?就问酷不酷? 怎么回事? 原来是 Windows官方的Linux子系统 (WSL),终于支持Linux GUI了! 也就是说,你现在可以直接在Windows ...

  • colinux ubuntu 9.04 -- 比较靠谱的在windows上使用linux的方式

    colinux ubuntu 9.04 -- 比较靠谱的在windows上使用linux的方式 分类:电脑网络 | 标签: colinux  ubuntu  源 2010-11-22 22:35阅读( ...

  • Windows下体验Linux环境

    前言 若要使用Linux环境,可以把Linux操作系统装在真机上,也可以把Linux操作系统安装在虚拟机上(如VMware).本文介绍除了这两种方法之外的第三种可以使用Linux环境的方法,请往下看. ...

  • 3、如何在windows上安装Appium环境

    所需组件和工具 1.Java.Python 2.node.js 3..netFramework 4.Android SDK 5.Appium

  • 苹果M1芯片上借助Linux虚拟机搭建Docker环境

    结果展示 前言 苹果M1芯片的Mac电脑目前使用Docker desktop app,对于我目前开发时必须的本地FastDFS环境影响很大,研究到一套在M1芯片上搭建ARM base Linux虚拟机 ...

  • Redis系列(一):介绍、安装(Docker、Windows、Linux)

    一.介绍 Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cac ...

  • Samba搭建Linux和Windows文件共享服务

    一.Samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享 ...

  • CentOS7上Docker搭建OpenStf环境

    应用场景: 开始了解stf主要源自于当前移动端自动化过程中,发现执行机器上挂载的移动设备监控起来比较麻烦,有时候报错或调试需要跑到执行机所在的位置查看运行情况,有没有一种办法可以直接在自己位置上就能看 ...

  • 在 Linux 上运行你最喜欢的 Windows 应用程序 | Linux 中国

    原创 (译)郑 Linux中国 6天前   导读:WINE 是一个开源项目,它可以协助很多 Windows 应用程序在 Linux 上运行,就好像它们是原生程序一样. 本文字数:2118,阅读时长大约 ...