在windows下使用docker做本机linux环境系统测试_呼叫冰河谷的博客-CSDN博客_docker跑linux

1.在windows下安装ubuntu(这个ubuntu可以理解为Windows10 内置的Linux系统:WSL (Windows Subsystem for Linux,这样比使用VM更快捷,VM一用内存咔咔飙上去且比较麻烦)

首先打开windows自带的应用商店

小插曲:

 解决:

win+R打开运行窗口:输入gpedit.msc(打开本地组策咯编辑器,如图),然后依次进入到计算机配置->管理模块->windows组件->应用商店,然后双击(关闭应用商店应用程序)修改状态为已禁用即可

 然后进入商店搜索ubuntu

然后又遇到了问题(,,ԾㅂԾ,,),不支持购买是什么鬼?

解决:

我们修改本机的国家和地址为美国

然后再次进入商店就可以下载安装了

但是我们还需要配置一些东西才可以使用

进入到设置页面->更新和安全

 勾选开发人员模式

如果出现了如图所示的红字(可能是网有问题,我用公司内网就出现了这样的问题,换成用手机流量就好了) 

 然后在上述图片的搜索框输入“启用或关闭Windows功能”,然后勾选如图,然后重启电脑

然后我们打开之前下载好的ubuntu后(在搜索栏中搜索ubuntu即可),系统会自动开始安装

 然后过一会后系统会提示输入用户名和密码(相当于用户注册)

 然后就可以开心的玩转linux系统了((●'◡'●))

2.Windows下安装docker

下载地址:Docker Hub

安装过程按照默认选择即可

安装完成后桌面会多一个这样的小东西

 然后我们在cmd中验证docker是否安装成功

接下来我们进行一个docker的教程

我们双击docker图标,然后就会打开一个可视化的界面,如图,我们点击Start

 然后系统来教我们如何克隆资源仓库,我们直接点击篮框部分,然后系统会拉取一个git小项目下来到我们的C盘,然后我们点击下一步

然后,系统来教我们如何构建(拉取)镜像,镜像是一个专属于你的容器的文件系统,它提供了你的容器所需要的的所有文件和代码(执行过程可能比较费时间,请耐心等待),然后下一步

 接下来试着运行第一个容器(根据之前步骤构建的镜像开启一个容器,使用隐私、安全、独立于其他设备的资源运行容器并启动你的应用)

 最后保存和分享你的镜像(在Docker Hub上保存和分享你的镜像以便其他用户可以在任何目的设备上轻松地下载并运行你的镜像),这一步需要你注册一个Docker Hub的账号,点击Sign in here就可以找到相关的注册网口,然后我们我们点击Done

然后我们进入到了服务列表页面,如图 

我们可以点击如图按钮启动服务 

 然后我们访问服务,如图

3.整合Ubuntu和Docker

我们打开ubuntu后执行docker命令,然后发现报了这样的问题

然后查询资料(Install WSL on Windows 10 | Microsoft Docs)后,我们需要配置WSL2,而WSL需要Win10版本是1903或更高版本

 然后我们就去到这里下载 Windows 10然后点击立即更新,就会下载一个更新工具,然后我们运行它就会开始更新了(更新比较费时间,大概2个多小时)

 然后为了适配WSL,需要安装一个Linux 内核更新包

地址在这里:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

然后双击安装即可

重新开启docker后(我升级了docker版本,然后需要重新执行之前的4步走教学或者直接跳过)

然后我们用管理员身份打开PowerShell,输入以下命令

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

 

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

然后执行wsl -l -v,可以看到我们的ubuntu使用的时wsl1

 接下来我们执行以下程序来升级wsl为2(官网给的命令是:wsl --set-default-version 2,但我试了好像不行)

wsl --set-version Ubuntu 2

 

检查是否升级成功

这里说明一点,请确保以下docker的配置项均选中:

 然后我们回到ubuntu执行命令,发现如下错误

 则执行以下命令

unset DOCKER_HOSTunset DOCKER_TLS_VERIFYunset DOCKER_TLS_PATHdocker ps

终于成功了,congratulations!

如何传输文件到wsl:

在wsl终端输入explorer.exe .  (ubuntu18.4不支持explorer.exe命令,注意不要在root权限下使用,且中间有各空格),然后拖拽文件到指定目录(默认因为权限的问题只能放在tmp目录下,然后在终端cp过去;或者用root用户修改想要保存的文件目录的权限,我我这里的/usr/docker目录的权限,这里注意千万不要泛滥把/usr目录下所有文件的执行权限改成777,会导致许多系统问题,只改新建的目录就可以了)

4.一些小的知识点

其实我们可以在cmd窗口或powershell窗口直接使用docker命令和docker-compose命令,这些都是Docker for Windows默认安装的,很方便。

细心的人可以发现,实例中新建的项目是被保存在C:\Users\Administrator\getting-started中的

 执行docker build -t XXX(镜像名称:标签):使用当前目录的 Dockerfile 创建镜像

 我们来看下DockerFile这个文件(为了简单明了我删掉了注释部分)

//python镜像FROM python:alpine AS baseWORKDIR /appCOPY requirements.txt .RUN pip install -r requirements.txt //node镜像FROM node:12-alpine AS app-baseRUN apk add --no-cache python g++ makeWORKDIR /appCOPY app/package.json app/yarn.lock ./RUN yarn installCOPY app/spec ./specCOPY app/src ./srcRUN yarn test  FROM app-base AS app-zip-creatorRUN rm -rf node_modules && \    apk add zip && \    zip -r /app.zip /app FROM base AS devCMD ["mkdocs", "serve", "-a", "0.0.0.0:8000"] FROM base AS buildCOPY . .RUN mkdocs build //nginx镜像FROM nginx:alpineCOPY --from=app-zip-creator /app.zip /usr/share/nginx/html/assets/app.zipCOPY --from=build /app/site /usr/share/nginx/html

配置淘宝源(这样可以下载镜像快很多)参考我这篇文章:

Docker(二)—— 部署自己的SpringBoot项目_hzkcsdnmm的博客-CSDN博客

5.windows下安装Centos作为WSL

6.WSL与Windows本机文件传输

在Windows下输入\wsl$即可访问WSL目录


原网址: 访问
创建于: 2022-11-25 16:58:02
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论