在windows下使用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_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 testFROM app-base AS app-zip-creator
RUN rm -rf node_modules && \apk add zip && \zip -r /app.zip /appFROM 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目录
在windows下使用docker做本机linux环境系统测试相关推荐
- 在windows上模拟linux环境,Windows下使用NCL(Cygwin模拟Linux环境)
参考自:http://bbs.lasg.ac.cn/bbs/thread-37043-1-1.html 1.下载 所需文件均可在此下载:http://yunpan.cn/cQsvAEe3Axs2Z ...
- docker | 基于 WSL2 在 Windows 下使用 docker
题外题内 绝大多数人安装 WSL2,其实是为了在 Windows 下用 docker. 无论是 Windows/Mac/Linux 都可以直接在 https://www.docker.com/prod ...
- 数据挖掘实验二结果(构建cube的三个维度,即三个txt,然后做各种查询)C++实现(代码调试环境为Windows下的CLion使用WSL的Linux)
数据挖掘实验二结果(构建cube的三个维度,即三个txt,然后做各种查询)C++实现(代码调试环境为Windows下的CLion使用WSL的Linux) 构建cube的三个维度,查询三家店七天四物的销 ...
- Windows下使用Docker搭建Kafka
Windows下使用Docker搭建Kafka 一,下载 首先,先启动本地的Docker服务,然后获取合适版本的zookeeper(我这里默认是最新) docker pull wurstmeister ...
- Windows下用docker打包镜像
Windows下使用docker打包镜像 编写dockerfile并将其放入待打包code的同级目录下 生成requirements文档 通过docker命令打包程序 1.Dockerfile doc ...
- oracle10g数据库复制,windows 下oracle 10G 数据库移植到 linux平台 (通过文件直接复制方法)...
windows 下oracle 10G 数据库移植到 linux平台 (通过文件直接复制方法) 最近学习了一下oracle数据库启动原理,于是,就把在windows创建起来做测试的数据库 移植到li ...
- windows下写的脚本,在linux下执行失败
Windows中的换行符为CRLF, 即正则表达式的rn(ASCII码为13和10), 而Unix(或Linux)换行符为LF, 即正则表达式的n. 在Windows和Linux下协同工作的时候, 往 ...
- myeclipse怎么运行c语言,windows下MyEclipse安装配置C/C++开发环境
windows下MyEclipse安装配置C/C++开发环境 ,安装MinGW:假设安装路径为c:\MinGW 编辑如下系统变量: 变量名变量值 PATH C:\MinGW\bin; LIBRARY_ ...
- win7 linux ssh key,Windows下创建SSH Key并登录Linux服务器
上一篇文章我给大家普及了在macOS下创建SSH Key并登录Linux服务器的操作,这篇文章带大家了解一下在Windows下创建SSH Key并登录Linux服务器的操作流程. 创建SSH Key ...
最新文章
- Linux驱动程序编写
- 深度学习巨头Yoshua Bengio清华演讲: 深度学习通往人类水平人工智能的挑战
- 第十六届智能车竞赛相关的提问:2021-5
- win10 应用程序 快捷启动
- php 之 post json 数据
- 很少有人能把CDN说的这么有趣了
- JSON.stringify()和JOSN.parse()
- three.js制作3d模型工具_浙江3D打印模型制作收费标准▁来图定制
- NEC协议——红外遥控的使用
- 小书匠编辑器使用手册
- 计算机缺考学校知道吗,计算机二级机考缺考成绩单会不会显示缺考啊
- Shell子程序结构,函数
- 贝壳完成在香港双重主要上市:市值超1200亿港元
- 汇编语言 dos中masm的配置教程
- Meshless Deformations Based on Shape Matching
- 用Visual C#.NET编写服务器日期控件
- 阿里云ecs概念介绍
- 捣鼓车间 | 学生获奖作品:戒烟帽
- 不用写一行代码,就能用ivx制作一个“微信小程序“,超牛逼
- 计算机网络实用知识,计算机网络实用技术知识点之ISDN的定义及特性
热门文章
- 科普:指纹识别的工作原理
- FFmpeg添加x265/hevc编码器支持
- Android开发中App演示Gif效果动画的制作过程详讲
- 应届生如何做好一份简历?
- jquery的点击事件驱动获取值
- 【Oracle】快速向表中插入大量数据Oracle中append与Nologging
- 杭电ACM 2014:青年歌手大奖赛_评委会打分
- HyperMesh 实用教程(一)组件
- 宏碁(Acer)蜂鸟Fun 2020新款 14英寸轻薄商务笔记本使用真实评测
- iphonex 测试电池软件,iOS11.3Beta5推送:支持电池检测、AR表情,建议iPhoneX用户升级...