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_HOST
unset DOCKER_TLS_VERIFY
unset DOCKER_TLS_PATH
docker 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 base
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
//node镜像
FROM node:12-alpine AS app-base
RUN apk add --no-cache python g++ make
WORKDIR /app
COPY app/package.json app/yarn.lock ./
RUN yarn install
COPY app/spec ./spec
COPY app/src ./src
RUN yarn test
FROM app-base AS app-zip-creator
RUN rm -rf node_modules && \
apk add zip && \
zip -r /app.zip /app
FROM base AS dev
CMD ["mkdocs", "serve", "-a", "0.0.0.0:8000"]
FROM base AS build
COPY . .
RUN mkdocs build
//nginx镜像
FROM nginx:alpine
COPY --from=app-zip-creator /app.zip /usr/share/nginx/html/assets/app.zip
COPY --from=build /app/site /usr/share/nginx/html
配置淘宝源(这样可以下载镜像快很多)参考我这篇文章:
Docker(二)—— 部署自己的SpringBoot项目_hzkcsdnmm的博客-CSDN博客
5.windows下安装Centos作为WSL
6.WSL与Windows本机文件传输
在Windows下输入\\wsl$即可访问WSL目录