美好的事物總是來自不易,而我是一個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是?
本篇帶給你全新的感受了嗎???