在輕量應用伺服器上的學習日誌(嘗試失敗了)

andu發表於2021-11-18

雙十一買了¥198三年的 CPU: 2核 記憶體: 4GB,80GB SSD雲硬碟,1200GB/月(頻寬:8Mbps)的輕量應用伺服器,感覺3年電費就不止要花這麼多錢吧。

本來是準備用它來安裝vs玩一下的,安裝好後發現vs反應有點慢啊,如果安裝資料庫後,估計更慢了。

用它來學習操作laravel呢?

首先重灌系統很方便啊,安裝好Windows server 2019,重置密碼,再安裝docker。

mstsc遠端桌面連線伺服器,開啟Powershell,輸入命令,可以在本地電腦上覆制,Ctrl+c,然後在伺服器裡Ctrl+v貼上。

Install-Module DockerMsftProvider

出現提示:

需要使用 NuGet 提供程式來繼續操作
PowerShellGet 需要使用 NuGet 提供程式“2.8.5.201”或更高版本來與基於 NuGet 的儲存庫互動。必須在“C:\Program
Files\PackageManagement\ProviderAssemblies”或“C:\Users\Administrator\AppData\Local\PackageManagement\ProviderAssembli
es”中提供 NuGet 提供程式。也可以通過執行 ‘Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force’ 安裝
NuGet 提供程式。是否要讓 PowerShellGet 立即安裝並匯入 NuGet 提供程式?
[Y] 是(Y) [N] 否(N) [S] 暫停(S) [?] 幫助 (預設值為“Y”):

輸入Y按回車,安裝NuGet包管理工具,從國外下載,速度好慢啊。

Ctrl+c 取消,輸入命令Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force來安裝,速度快多了。

再安裝DockerMsftProvider

Install-Module DockerMsftProvider

不受信任的儲存庫
你正在從不受信任的儲存庫安裝模組。如果你信任該儲存庫,請通過執行 Set-PSRepository cmdlet 更改其 InstallationPolicy
值。是否確實要從“PSGallery”安裝模組?
[Y] 是(Y) [A] 全是(A) [N] 否(N) [L] 全否(L) [S] 暫停(S) [?] 幫助 (預設值為“N”): A

輸入A回車,一下子就安裝好了。

再輸入命令,安裝docker:

Install-Package Docker -ProviderName DockerMsftProvider

是否確實要安裝來自“DockerDefault”的軟體?
[Y] 是(Y) [A] 全是(A) [N] 否(N) [L] 全否(L) [S] 暫停(S) [?] 幫助 (預設值為“N”): A

輸入A回車,安裝需要花不少時間。做別的事情去,不然要等死了。Ctrl+c 取消重新安裝,輸入Y後,十幾分鍾後安裝好。
重啟伺服器,檢視docker版本:

抄一段 Docker 的三個基本概念:

  • 映象(Image):Docker 映象(Image),就相當於是一個 root 檔案系統。比如官方映象 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系統的 root 檔案系統。
  • 容器(Container):映象(Image)和容器(Container)的關係,就像是物件導向程式設計中的類和例項一樣,映象是靜態的定義,容器是映象執行時的實體。容器可以被建立、啟動、停止、刪除、暫停等。
  • 倉庫(Repository):倉庫可看成一個程式碼控制中心,用來儲存映象。

Windows server 2019上的docker可以安裝 server core映象,或者Nano映象:

docker image pull mcr.microsoft.com/windows/servercore:1909

server core最新映象版本是2019,具體可以看微軟官方的介紹:更新 Windows Server 容器
或者是.net

docker pull mcr.microsoft.com/dotnet/runtime:6.0

具體可以看:hub.docker.com/_/microsoft-dotnet-...

安裝Ubuntu,更多請看:hub.docker.com/_/ubuntu?tab=tags

docker pull ubuntu:latest

出錯:

latest: Pulling from library/ubuntu
no matching manifest for windows/amd64 10.0.17763 in the manifest list entries

需要新增檔案 :C:\ProgramData\docker\config\daemon.json

{
"registry-mirrors":["http://hub-mirror.c.163.com"],
"insecure-registries":[],
"debug":true,
"experimental":true
}

重啟docker,再安裝:

restart-service docker
docker pull ubuntu:latest

latest: Pulling from library/ubuntu
7b1a6ab2e44d: Pull complete
Digest: sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da9675088f4781a50ae288f3322
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest

啟動Ubuntu虛擬機器:

 docker run -itd --name ubuntu-test ubuntu

出錯:

PS C:\Users\Administrator> docker run -itd –name ubuntu-test ubuntu
docker: Error response from daemon: failed to start service utility VM (createreadwrite): kernel ‘C:\Program Files\Linux Containers\kernel’ not found.
See ‘docker run –help’.

原來雲伺服器不能開啟虛擬化設定,所以在 Windows server 的雲主機上是用不了docker的Linux系統的。
刪除映象:

docker rmi 映象id

嘗試失敗!!

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章