最近需要用到 bugzilla, 手動架都失敗, 於是找到幾個偷懶的方法...
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
2017年2月13日 星期一
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
我在安裝 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 網卡
2015年7月6日 星期一
備份/搬家/還原/大量複製 openvz 虛擬機
如果單純只是想要備份還原一兩部 openvz 虛擬機,
「布丁布丁吃什麼?」 有兩篇圖文並茂的詳盡說明:
採用 proxmox 網頁介面、
採用命令列。
但如果你遇到跟我一樣的狀況, 需要幫學生或客戶一口氣建立幾十部
openvz 虛擬機, 那當然就要採用命令列的方式比較快。
本文精簡地重述如何用命令列備份還原,
並且把重點放在 「批次/大量複製」。
大人問小孩: 「全世界的玩具隨便你挑? 這怎麼可能?
如果我要的玩具只有一個, 正好又被別人借走了呢?」