顯示具有 container 標籤的文章。 顯示所有文章
顯示具有 container 標籤的文章。 顯示所有文章

2020年5月14日 星期四

2020年2月21日 星期五

透過 RESTful API 管理一群 lxc 的 lxd

好啦, 如果需要完整的虛擬化, lxd 當然無法取代 kvm, 畢竟 lxd 只是容器 (container) 技術。 但如果只是想要玩玩不同的 distribution 的命令列, 那麼 lxd 就超合適的。 如 lxc 筆記 所說 (但換個比喻) 如果把 lxc 想成是車子的主體, 那麼 lxd 就是方向盤/排檔桿/剎車/儀表板等等 「使用者介面」。 凡是 「lxc-xxx」 長像的指令 (例如 lxc-ls、 lxc-create) 都屬於底層 lxc 套件, 是修車師傅專用的, 我們駕駛人一般不太去用它。 這篇介紹適用於駕駛人、 長得像 「lxc xxx」 的指令 (例如 lxc ls、 lxc launch)。

2020年2月13日 星期四

ubuntu 18.04 上的陽春 lxc 3.0 筆記

Linux 上的虛擬技術 技術一直在演變。 以 container 類的技術來說, 最早的主流是 OpenVZ; 後來是 lxc。 Docker 原先也是架構在 lxc 之上, 後來才改用他們自己的底層。 lxc 從 1.0 到 2.0 到 3.0, 每一次大改版都改了很多東西, 以致許多舊版教學文失效。 後來出現了 lxd, 可以想成是 lxc 的新介面, 或是套餐加值選項 -- 所以 lxd 無法單獨存在, 底下一定要有陽春單點主餐 lxc。 (大推 觀念文 ) 於是大家都轉而使用 lxd 口味的 lxc。 這兩天想學陽春版 lxc, 發現 lxc 3.0 相關的中英文文件還真的有點難找。 趕快簡單筆記一下。 [2/21 lxd 教學文 也寫好囉!]

2019年7月9日 星期二

「Docker pull 卡住不動」 的實驗計畫

不太確定為什麼, 偶爾會遇到 docker pull 抓映像檔抓到一半突然卡住不動。 很多人都遇過相同的問題, 而且很多年了都沒有解決, 到現在 Bounty Source 還在懸賞。 我在電腦教室特別常遇到這個問題; 可惜上課期間來不及研究。 這篇的目的是希望下次再遇到時, 可以做一些實驗, 確認一下到底是伺服器那頭的問題, 還是我們這頭的問題。 如果夠多人測試不同的排列組合, 並且到上述 issue 回報自己的排列組合, 說不定對開發者除錯會有一些幫助。

以下提到設定檔的地方, 都以 lubuntu 18.04 bionic beaver 為準。

2018年9月23日 星期日

幫 proxmox 的 lxc 擴充硬碟

在 proxmox 上面, 原則上每個 lxc 容器配置一個檔案系統。 例如我的 proxmox 採用 zfs 作為檔案系統。 有一部 lxc 容器, id 是 371, 那麼在 /etc/pve/lxc/371.conf 裡面就會有一句: rootfs: local-zfs:subvol-371-disk-1,size=4G 之類的。 這個檔案系統對應到 proxmox host 的 rpool/data/subvol-371-disk-1 。 (假設你的 zfs pool 名為 rpool) 但如果這個容器要當作 ftp 伺服器或 docker 伺服器, 最好把資料放在第二顆硬碟上, 這樣資料備份跟伺服器狀態備份才比較方便分開處理。

2018年8月1日 星期三

自架臉部表情判讀服務

臉部表情判讀示範 -- 「驚訝」 請看一下 原始網站: 我把這個判讀臉部表情 (及性別) 的程式 複製回來並小改一下, 然後打包成 face_classification docker 讓大家玩。 情緒判斷還蠻有一點像的; 可是鬍子先生為什麼竟然被判斷成女性呢?

2018年7月23日 星期一

在 docker 裡面跑 GUI 程式

一開始玩 docker 主要都是為了伺服器的應用 (例如 ethercalc 或 ldap), 所以只需要文字介面。 最近玩 ML/DL/AI 程式, 經常需要顯示圖片。 每次都要在 docker 裡面用 AI 程式在分享的目錄裡產生圖片, 再從外面 (host) 用看圖軟體看, 有點囉嗦。 如果是影片, 就更麻煩了。 搜尋到這篇 Running GUI apps with Docker, 略微修改他的做法, 得到以下簡單步驟讓你可以在 docker 裡面執行圖形介面程式並直接顯示在 host 實體機的 X Window 環境。

2018年4月10日 星期二

到 floydhub 租用雲端 GPU 玩人工智慧

想玩一點 AI, 又不想自己直接面對 封閉的 nVidia 顯卡驅動程式 嗎? 如果你的訓練資料沒有隱私或機密的問題, 那就上雲端租用 GPU 吧。 我採用的是 floydhub。 根據 這一篇比較文, floydhub 的效能比 AWS 跟 paperspace 略遜一籌; 不過他們以軟體環境取勝: 有許多現成的深度學習 docker 環境 可選。 而且當初我起步機器學習, 就是靠他們做的一些 docker images, 所以就寫介紹文來回饋囉。

2017年9月25日 星期一

編譯別人的程式的除錯技巧

最近玩 AI 一直在編譯別人寫的軟體。 最常遇到的問題, 不是別人寫的程式有錯, 而是我的環境跟他的環境沒有 100% 相同, 所以原來 ok 的程式碼, 到了我的環境就編譯失敗。 以下是我 編譯 ENet 時學到的一些除錯技巧與心得。

2017年9月18日 星期一

推薦一個編譯影像處理 AI 軟體的 docker image

玩 AI 時, 經常需要自己編譯軟體。 很麻煩的是, AI 軟體經常有很長一串相依套件, 其中有些套件很難編譯。 以我最近在玩的影像處理為例, opencv 跟 boost 是兩個很常用到但編譯起來困難重重的套件。 還好找到 docker-cmake-opencv-boost 這個現成的 Dockerfile。 向作者求助兩次之後, 得到 迅速有效的回應。 我就直接拿原作者的 Dockerfile 來用:

2017年7月12日 星期三

跟同學交換 ethercalc 容器, 馬上理解 docker 的 volume、 port、 link

Ethercalc 是一個類似 google sheet 的共筆試算表服務。 (作者是數位政委唐鳳!) 除了 公用版 之外, 你也可以自己架設在私有雲裡。 最簡單偷懶的架設方法就用 docker。 電腦教室裡坐在隔壁的兩位 docker 新手, 還可以透過 「把我所架設的服務拿出來跟同學交換」 來學習 docker 的 -v (指定 volume 對應關係, 也就是與 host 共用某個目錄)、 -p (指定 port, 也就是通訊埠轉發)、 --link (建立 docker 之間的連結), 動手實作馬上比爬文更有感!

2017年2月13日 星期一

Docker 新手第二課: 前景/背景/收工休息 圖解狀態轉換

docker 基本指令 這篇觀念教學文是為略懂 docker 的讀者寫的。 你喜歡在你的 linux 電腦上試玩一些有的沒的; 但是不時會遇到一些軟體需要牽拖一大串三姑六婆相依套件, 擔心會把你的工作環境弄亂。 有時甚至還會有相依套件版本跟已安裝軟體不相容的問題。 你發現 docker 正好可以解決這個問題。 安裝好 docker、 對於 volume 跟 port 略有概念、 爬了一些文 [ 門外漢的 Docker 小試身手、 三十分钟 Docker 新手入门]、 對 docker 已經有一些概念、 會用 docker ps -a 查看 (執行中或已收工的) docker instances 及當初的完整指令、 用 docker images 查看已下載的映像檔、 docker 常用指令 大概可以看懂兩三成。 但是對於 attach/interactive/terminal/... 又有點頭昏... 對於沒有立志要成為 docker 高手的人來說, 只需要再熟悉這張概念圖就夠了。 從此以後可以專心亂玩其他軟體, 不必再煩惱 docker 指令了! 同場加映不求專精工程師爬文後的一些小技巧及心得。

2017年2月4日 星期六

在 zfs 上面的 lxc 裡面跑 docker

zfs + lxc + docker 我在安裝 proxmox 4.2 時, 檔案系統選用 zfs, 裝好之後想要在 ubuntu lxc 容器裡面跑 docker。 沒想到這是一個棘手的組合, 在過去這幾個月裡, 燒掉了我好幾個週末跟半個年假 (所以我貼文的頻率很低)。 這篇文章是給 linux 熟手看的 -- 筆記的成份多於教學的成份; 只在 proxmox host 底下測試, 並且省略很多解釋及較單純的細節。

[2018/9/23 在 proxmox 4.4 裡, 這已經不再是 「棘手的組合」, 已經變得簡單很多。 詳見 「幫 proxmox 的 lxc 擴充硬碟」。]

[2020/01/11 Linus Torvalds建議不要使用ZFS (考量法律與 Oracle 興訟的習性)]

2015年12月2日 星期三

把 OpenVZ 虛擬機的 venet 裝置升級成 veth 網卡

刪除 venet 裝置 Proxmox 用戶在設定 container (以下簡稱 CT) 的網路裝置時, 有 venet 跟 veth 兩個選項。 只求連線、 沒有特殊網路需求的新手先可以選用簡單/安全/高效率的 venet。 如果 研究過兩者差異 之後, 才反悔想改用功能較完整的 veth 裝置呢? 那就要先把舊的 venet 裝置刪掉囉。

2015年7月6日 星期一

備份/搬家/還原/大量複製 openvz 虛擬機

備份/搬家/還原/大量複製 openvz 虛擬機 如果單純只是想要備份還原一兩部 openvz 虛擬機, 「布丁布丁吃什麼?」 有兩篇圖文並茂的詳盡說明: 採用 proxmox 網頁介面、 採用命令列。 但如果你遇到跟我一樣的狀況, 需要幫學生或客戶一口氣建立幾十部 openvz 虛擬機, 那當然就要採用命令列的方式比較快。 本文精簡地重述如何用命令列備份還原, 並且把重點放在 「批次/大量複製」。

2015年4月20日 星期一

明智消費者的虛擬化技術基本觀念及術語

[閱讀本文可搭配 這份 sozi 簡報。 操作方式請見 這裡]

本文是資訊人權貴為明智的消費者所寫的虛擬化技術簡介, 也試圖將虛擬化常用術語一網打盡。 作者本身虛擬化實作經驗不多, 只略熟 proxmox 跟 qemu。 (感謝學生當白老鼠沒抗議) 但是爬了好幾十篇文章。 歡迎留言指正錯誤 and/or 提供遺漏的虛擬化常用名詞。