Windows 7 + Tiny Linux 4.19 + XFS + Vmware Workstation 15 (PRO) 下篇dockerの奥义
Posted on 2020-01-10 00:28 A.Z 阅读(666) 评论(0) 编辑 收藏 举报美好的事物总是来自不易,而我是一个docker新手
从以上开场,请各位follow me站在一个初学者的角度,一步一步用最简单的视角审视docker和它的真实存在
上篇预告:Windows 7 + Tiny Linux 4.19 + XFS + Vmware Workstation 15 (PRO)下篇dockerの奥义 我提到了今天这篇随笔的内容,虽然不出意外,但是...但是亮点总在最后
XFS提供了很好的并发性能,而docker又以轻量级的虚拟化容器著称,两者结合会插出怎么样的水花呢
嗯,在我的环境里,非常流畅,不同于甲骨巨婴VBOX, Vmware在负荷下CPU调度妥贴,丝毫感受不到虚拟机的存在,跑题了,这句下上文异常
从XFS出发,首先需要一个额外的虚拟存储,那么怎么制作XFS disk呢...此处省略500字...so far so good...XFS disk制作好了,那么相比单存储又有什么优势呢...一个问题接一个问题...那就是docker-machine rm default后所有的images containers volumes etc.并不丢失呢
以下是案例教学:
有一位网友发了一条信息给boot2docker官方,内容如下
after update boot2docker.iso,my data lost
这位网友的头像是这样的:
为了杜绝此类悲剧再次上演,请合理布局docker 😄
在下面这张图片里,额外的虚拟存储被使用,最关键的是它的路径和docker无关,所以即便docker被完整删除,所有的资料还可以保存下来
以下的图片是Vmware中的详细配置,请注意重点圈注的内容,后续会提到
按照预告的内容,符合新手的下一步,一定必定肯定是pull一个container来划划水
嗯?应该是image更为确切,但是docker的cli有一个很简化的命令run,连pull带run,很好呢
用一个最简单的命令就可以夯出水花哦 -> docker run -v /mnt/hgfs/Users/:/home -itd mcr.microsoft.com/dotnet/core/runtime:latest bash
嗯,这条命令一共花了三个小时,这可是满城千兆的时尚之都,mcr.microsoft.com是从ISP拿到的IP,三小时后,我从朦胧睡意中醒来,大惊,retry...retry...retry的日志试图在证明docker很无辜
往日下一些大片速度都是杠杠的,怎么碰到mcr.microsoft.com,突然变了呢
把曾经美好的印象一下子仿佛失去了色彩
过去或者将来我都会很耿直的直连mcr.microsoft.com,并不是我很傻很天真,只是出于一个求知者必经的求实
上dockerhub,pull一个runtime三小时出成绩很好呢
忘了顺便提一句,在powershell里是这样的,用bash要//. 这样就可以访问user(hosthome)了,鼠标点击图片的左侧圈注,请把c:\users改为其他目录,熟悉Windows的我们一定对这个目录相当的敏感,告别c:\users从点点滴滴做起
三个小时后我打出了dotnet new, 然后想了一想,这是runtime!!!一语惊醒梦中人,放弃,打出--version,嗯?
忘了attach, bash的minitty果不其然,不如powershell
It was not possible to find any installed .NET Core SDKs
Did you mean to run .NET Core SDK commands? Install a .NET Core SDK from:
https://aka.ms/dotnet-download
Host (useful for support):
Version: 3.1.0
Commit: 157910edee
.NET Core SDKs installed:
No SDKs were found.
.NET Core runtimes installed:
Microsoft.NETCore.App 3.1.0 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download
这就是所有的--info,一阵眩晕我又倒下睡了
彻夜无梦......
按照预告的内容,写到这里应该也快到尾声了,无意发现的0-3.boot2docker.pool.ntp.org的ntp请求,好像也不能改,毕竟是人家官方的branding bits
好了,整理一下从一个命令出发需要整理的知识点
- shareName, hostDir, shareDir 分别对应 "Users", "C:\\Users", "/hosthome"
- 从rcS出发到tc-config到bootsync.sh到bootsync.sh(2)到bootlocal.sh,ntpd牢牢地卡在最前方,没有pre-script可以inject
- 即使三个小时retry,docker毅然的坚挺,值得肯定
然后就很华丽不是吗???
这不是你期待的吗???
我是一个docker新手,于是我开始了第一个dockfile, 这将是???
说起这张图,在起初的5分钟(第一次气定神闲的打出docker build不带T),我是一名很好,很懒的新手,我什么都不想干,什么都不想做,什么都不想理,但是5分钟过去了,我看了看进度,突然
一个idea出现了!!!
于是我看了很多404,很多很多404,而这些404在下一个瞬间又会变成200,这就是著名的...
Schrödinger's "Cat 404"
在漫漫的等待后,我又看到了一张新的图
请记住这张图,请不要伸手索要,KERNEL_CONFIG变了,TINY LINUX变了,VM CLIENTS变了
终于彻底的移除了巨婴VBOX的支持,升级了VMWARE的版本,然后还有什么我想想...0-3.boot2docker.pool.ntp.org???做人要厚道,怎么可以对这么好用的boot2docker branding下手!!!
最后密码当然是和driver一起
变了
变了
变了
。超级便便便
好像不经意间用了CentOS的efiboot做了一个UEFI和BIOS都支持的ISO,成功的进入了...grub,验证了fat image的合理性,BIOS是完美的
在篇末隆重宣告后续の补完篇 :UEFI制作
数一数我的第一:
第一次MAKE linux的项目是(不是hello world噢):
"大概是世界上最好的支持最古老的ARM LINUX系统的aria2,版本1.34.0,修改了最大连接数,RPC限制2个以上的网络接口 "
第一次MAKE linux的OS是 (不是redhat噢):
全世界仅有的唯一最高LINUX版本的白菜路由,支持NAND记
第一次MAKE dockerfile是?
本篇带给你全新的感受了吗???