Windows 7 + Tiny Linux 4.19 + XFS + Vmware Workstation 15 (PRO) 下篇dockerの奧義



美好的事物總是來自不易,而我是一個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

好了,整理一下從一個命令出發需要整理的知識點

  1.  shareName, hostDir, shareDir 分別對應 "Users", "C:\\Users", "/hosthome"
  2.  從rcS出發到tc-config到bootsync.sh到bootsync.sh(2)到bootlocal.sh,ntpd牢牢地卡在最前方,沒有pre-script可以inject
  3. 即使三個小時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是?

本篇帶給你全新的感受了嗎???


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM