Pages - Menu

2019年3月29日 星期五

[Docker]Docker 筆記

1.Windows server的Docker核心 分成兩種 Linux Container 和 Windows Container

2.核心的環境不能在不同核心上面執行image

3.Windows 容器環境分成兩種 Windows server Container 以及 Hyper-V Container

4.Windows server Container 與 Hyper-V Container 的差異在前者共用系統核心資源(類似服務),

而後者需依賴於Hyper-V虛擬機上面。

5.Windows server Container 及 Hyper-V Container 內都可安裝的image 為  Server Core 和 Nano Server

6.查詢目前容器是Window or Linux ,在power shell內 執行docker version

7.Server Core 跟 Nano Server的差別在 Nano core 檔案比較小,而且不具備GUI的功能…等其他。

官方解釋:

Nano Server 是一個遠端管理的伺服器作業系統,已針對私人云端和資料中心最佳化。 它類似於 Server Core 模式的 WindowsServer,但明顯較小、沒有本機登入功能,而且只支援 64 位元應用程式、工具和代理程式。 比起 WindowsServer,它佔用的磁碟空間更少、設定的速度明顯地更快,而且所需的更新和重新啟動次數更少。

(詳細請看 微軟-安裝Nano Server)

8.要在Windows server上面玩Docker之前,最好先更新到最新版本。


參考資料來源:

不自量力的weithenn-安裝 Docker 容器環境 - Windows Server 2016

微軟-在 Windows 上的容器

2019年3月28日 星期四

[Windows]Windows Server 巢狀虛擬化

在Windows server 2012要玩 虛擬機裡面掛載虛擬機,
很麻煩,而且也不一定成功。
現在到了Windows server 2016就可以直接使用了。
要確認有沒有支援虛擬化技術,可執行Coreinfo判斷,
但你如果已經執行HyperV的話,狀態會沒辦法顯示。
但基本上,已經能夠執行HyperV就表示你的CPU有支援虛擬化技術。

先定義幾個東西,
實體機為 A ,實體機底下的虛擬機 為 B
要在B的底下再開一台虛擬機C
1.首先要將A的虛擬化狀態傳給B
在A執行PowerShell的指令
VMName指的是B的虛擬機名稱
Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true
2.從B的伺服器角色安裝Hyper-V
3.更新B作業系統到最新的版本
(ref.不自量力的weithenn-實作 Hyper-V Nested Virtualization)

[Docker]Windows Server 2016 安裝Docker(Linux Container)

前言
Dokcer在Windows 上面分成兩種,
一種是Windows Container(WCOW) ref. ,Windows 容器需求
另一種是Linux Container(LCOW)ref.Windows 上的 Linux 容器
前一篇文章[Docker]Windows Server 2016 安裝Docker有講到安裝方式
那個可以略過不用看了
(後來才知道那一篇文章講的是Window Container的安裝方式,
這篇做的是Hyper-V Container)

現在的安裝方式比較簡單,但如果要裝Linux Container的還是會麻煩到炸。
首先,你如果是實體機上面直接操作,恭喜你沒問題。
只要確認一下,你的CPU、主機板的虛擬化技術有開,SLAT(第二層位置轉譯)有支援就好。
可以執行Coreinfo來檢查(ref.如何檢查處理器是否支援第二層位址轉譯 SLAT)
但要注意,如果你有啟動Hyper-V,你怎樣查是查不到的。
此時也可以直接去查CPU的型號,到intel的網頁上。
看這幾個是否有支援。


如果一開始的機器是虛擬機而不是實體機,那要先搞定的是巢狀虛擬化技術
可參考另外一篇,實做
千萬記得,在Hyper-V還沒安裝好以前,不能安裝Docker。


回到正文,

2019年3月26日 星期二

[Windows]DNS錯誤解法

因為DNS server掛在自家主機上面,
但偶爾發生了連線連不到的問題。又不想重開機。
只好追蹤錯誤了。
1.查詢DNS

nslookup
server 192.168.168.167  (指定DNS server)
set type=any
test2.fatek.com.tw (要查詢的網址)

或者

nslookup test2.fatek.com.tw 192.168.168.167

有查到正確的IP,那表示DNS伺服器沒有問題
(ref.曾阿銘的技術資料與吃喝玩樂-WHOIS,DNS,nslookup的指令)
2.清理網路的DNS紀錄

ipconfig /flushdns
ipconfig /registerdns
ipconfig /release
ipconfig /renew

目前下到重新註冊dns就能夠正常連線了
(ref.微軟-Windows 7 中的「您的電腦似乎已正確設定,但是裝置或資源 (DNS 伺服器) 沒有回應」錯誤訊息

2019年3月19日 星期二

[Linux]HyperV安裝Ubuntu 18.04 及軟體紀錄

2019/08/12 更新root登入

要開始玩Docker了,但用Windows似乎撞牆期會很長。
先弄個Ubuntu來玩了。

本次安裝的版本是 18.04 TLS版(預計支援到2023 年 04 月)

1.要安裝的時候,
如果使用HyperV的二代虛擬機,請一定要把安全性開機關掉,
不然沒辦法安裝



2019年3月4日 星期一

[Windows Server]RAMMap 裡面的 Driver Locked 太大

放了四天假,第一天上班

就看到Server出了點問題,

開工作管理員沒看到有吃大量記憶體的程式,

後來查到一篇,黑暗執行緒-Windows記憶體都用到哪裡去了?

去抓了 RAMMap 來用,才發現所有的記憶體都被Drier Locked吃掉了,大約有4xG

看了幾篇文章

 Agile IT by Doug Luxem - Driver Locked Memory on Hyper-V Guests

MSDN-Hyper-V Dynamic memory, Driver Locked

才知道原因在於,Driver Locked是Hyper-V的動態記憶體管理 (Hyper-V Dynamic Memory Overview)

講更簡單點,除非把他關掉,不然沒醫。

至少確定這個記憶體使用量,不是什麼不明程式所造成的就好了。