Docker 實作入門

目的

主要介紹 Docker 的實作,會提到以下幾個部分:

  1. 快速的建立 Docker container
  2. 管理 Docker 上的 container
  3. 下載 image 、commit 建立新的 image
  4. 經由撰寫 Dockerfile 來自動建立新的 image

在進入實作前,會簡單介紹 Docker 與虛擬化的差異、Docker 上的重要元件,接下來準備的部分會需要安裝 Docker 及先登入 Docker Hub。

 

簡介 Docker

Docker 是一個開源專案,支援多平台,從筆電到公、私有雲上能進行快速部署輕量、獨立的作業環境。Docker 使用 Linux 核心中的功能,Namespace 及 Control Groups (cgroups) 等,來達到建置獨立的環境及控制 CPU 、Memory 、網路等資源。

Docker logo

專案網址: http://www.docker.com/

繼續閱讀 “Docker 實作入門”

Docker 實作入門

用OpenShift 開發網站

openshift
圖片轉自OpenShift

從大學畢業後,要免費用伺服器還蠻麻煩的一件事情,查了許多VPS ,開發環境都不是非常好,像有些主機還是使用PHP 5.3 以下,MySQL 也不支援InnoDB Engine,服務也不沒很穩定,免費的主機也不能苛求太多,OpenShift 是由Red Hat 建置,跑在Amazon EC2上,穩定度看來是不錯的。

1. 介紹OpenShift

OpenShift 是RedHat 建立的雲端服務,屬於平臺即服務 (PaaS),可以讓開發者或一般人方便的使用架設好的開發環境,不用花費太多時間在管理系統上面。官方也蠻不錯的,提供一個免費方案,另一個基本上算免費,先看一下比較。

Free Bronze
Small Gears(1~3) *1 免費 免費
Small Gears(4個以上) X 須付費
Gear 閒置 *2 2天 X
基本儲存空間/1個Gear 1G 1G
額外儲存空間 X 須付費
rhcloud.com 上的次級網域
自訂網域
分享SSL/TLS 憑證
自訂SSL/TLS 憑證 X
付款資訊 *3 X

備註:

  1. Gear 是一個被限制的資源(如:記憶體、儲存空間等),簡單來說像是一個電腦一樣,Small Gear 的資源就是512M 的記憶體、100M swap 空間、1G 儲存空間(可付費擴增)
  2. Gear 閒置指,如果在某段時間內(免費方案是2天)沒有接收到HTTP 要求的話,會進入idle 狀態,如果有HTTP Request 進來,就會進入Started了(自己測試idle 切換到started 要等10幾秒左右)
  3. 付款資訊在Bronze 方案,是要填入信用卡資訊的,所以小心Small Gear 用超過1G的儲存空間就會開始計費…

比較起來,OpenShift 還不錯,可以自訂網域,記憶體跑小demo 、做Lab或者是小流量的網站 也不錯。官方說明中,以Drupal 來估計,Small Gear 可以Free 方案大約可以每秒15 個頁面、數百篇文章、每個月5萬個訪客,詳細得比較可以去看https://www.openshift.com/products/pricing

支援的程式語言包括,Java、PHP、Python、Ruby、Node.js、Perl等,本篇文章以PHP 為開發環境,資料庫則有MySQL、MangoDB、PostgreSQL等,如果要知道支援的版本,可以至https://www.openshift.com/developers/technologies

繼續閱讀 “用OpenShift 開發網站”

用OpenShift 開發網站

更新ADT 後src 及 layout 不會自動建立

adt

把ADT (Android Developement Tools) 更新到22.6 (2014年4月),發現到如果新增一個project 時,原本會自動建立src 內的package 及Activity class,還有在res/layout 內的Activity layout 的XML 檔,但是都沒出現,去找了Android 的issue tracker(#66647),問題是因為ADT  內的SDK tools 根本沒被更新到22.6,但是在SDK Manager 顯示出來卻是有。

 

package_explorer_list
新建專案src 及res/layout 是空的

繼續閱讀 “更新ADT 後src 及 layout 不會自動建立”

更新ADT 後src 及 layout 不會自動建立

ASUS 路由器的洞

asus

在網路上看到國外有人發現到ASUS 家用路由器的洞,剛好我也是用ASUS,檢查一下發現真的有這個洞…,詳細可以參考此網站

主要有兩個洞,分別是XSS 跟 Authentication bypass,都是發生在error_page.htm 這個網頁,瀏覽此頁面是不經過身分驗證

  1. XSS 的是透過error_page.htm?%27%2balert(%27QQ%27)%2b%27
  2. Authentication bypass 在檢視error_page.htm 的原始碼會發現有一行的程式如下:

回報的人說明影響到的機型有

  1. ASUS RT-N10U
  2. ASUS RT-N56U
  3. ASUS DSL-N55U
  4. ASUS RT-AC66U
  5. ASUS RT-N15U
  6. ASUS RT-N53

另外,N55U與 AC66U 沒有Authentication bypass 的洞。

不過,現在使用是RT-N12D1 在官網上的Firmware 更新中也有,所以,快去檢查路由器的firmware 是否有釋出更新

 

資料來源:https://sintonen.fi/advisories/asus-router-auth-bypass.txt

ASUS 路由器的洞

SSH 安全設定的大小事

OpenSSH_logo
圖片取自Wikipedia

 

前幾天幫朋友弄主機,看到 /etc/hosts 被加入許多筆127.0.0.1 對應到不同的domain name,接著看登入紀錄發現,只留下當天下午之後的紀錄,其他的都不見了‵,個人的主機通常不會把log 丟到syslog server 上,系統上的帳號也被新增一個帳號,UID 還是0…,看來是被黑了…,最後發現,他沒把root 帳號SSH 連線的設定關掉,密碼也太過簡單。

繼續閱讀 “SSH 安全設定的大小事”

SSH 安全設定的大小事

寫了一個App – 臺灣燈會在南投

臺灣燈會在南投

今年臺灣燈會辦在南投,原本去年底就想開始寫,那時候還不知道有什麼功能可以做,直到看了南投縣政府的官網出來後才花了一些時間寫(官網用CodeIgniter 做的樣子),最後利用Google Map API 做出了燈會地圖,希望不要有太多bug 就FC 啊…有的話請麻煩回報一下,有建議可以告訴我,在文章、Goolge Play 評論留言或者mail 給我 ym.huang0808 [at] gmail.com,測試的環境就有我的手機Nexus 5…,沒有平板能做測試(差點衝去買一個Nexus 7…)。

繼續閱讀 “寫了一個App – 臺灣燈會在南投”

寫了一個App – 臺灣燈會在南投

AWK 處理檔案

在處理「10,000 Top Passwords」的檔案時,想轉成array 資料型態存起來,檔案是:

password, 32027
123456, 25969
12345678, 8667
1234, 5786
qwerty, 5455
12345, 4523
dragon, 4321
pussy, 3945
baseball, 3739
football, 3682

第一欄是要儲存成array 的資料,就想到利用AWK 來處理,之前有用過了,不過現在有點生疏,來筆記一下,加深印象。

AWK 結構及選項

AWK 是讀取檔案或利用pipeline 的方式讀取接收到的結果,以每行為一個記錄(record)進行處理,在行中會在被區分成欄位(field),預設區隔欄位的則是空白

  • -F :可以自訂區隔欄位的字元是哪一個
  • -v:則是可以設定變數
  • pattern:當讀取每行時,可以利用pattern 判斷是否符合,如果沒pattern 需要判斷可以省略
  • action statements:要進行的動作,要將執行的動作寫在{ } 大括號內

繼續閱讀 “AWK 處理檔案”

AWK 處理檔案

2013 TiC100 學習及獲得哪些

2013TiC100

最近要開始改履歷了,所以就利用部落格來回想一下參加2013 TiC100的過程。

動機

距離去年(2013)的TiC100 也有半年多的時間,從一開始看到學校研發處發的email,用Google 搜尋到Youtube 上的2012 年冠軍team 總決賽影片(參考此連結),當下覺得可以完成一個東西真棒!

來自不同系的組員

在報名前,因為有些人有畢業後的工作,組員變動了不少次,最後我們由五個人組成了CPU,組員來自不同背景包括企管、電機、景觀、資管,在一開始的履歷審核與議題配對就發現到不同系的人會有不同的溝通語言與思考邏輯。

主辦單位議題配對出來後會舉辦議題說明會,在說明會前,與Dani 老師開會時,提醒我們要好好的了解選到的議題內容,因為不是每個組員對物聯網(IoT)、RFID、ZigBee、商業模式(BM)等有概念,每個人針對自己擅長的部分跟大家做分享。當天在研華公司的議題說明會時,大家都發現到對議題owner 在說明、講解的技術應用與用詞會更加了解。

2013 TiC100 議題說明
RFID 應用

 

 

 

 

 

 

 

 

 

溝通是最大的無形成本

組員們一開始都是沒合作過也互相不認識,大部分meeting 時,會從A 方向討論到C、D、E 方向,大家的想法都不同,所以幾乎meeting 都是要2~3小時以上,在某一次meeting 時,有發現到一個做法還不錯,要專注在單一方向實際上不太可能,可以利用大張一點的紙或白板記錄下討論過或者還沒討論完的內容,能記越詳細越好,這樣能避免討論到E 方向時,要跳回A 時又要重新來過(這跟stack很像)。

繼續閱讀 “2013 TiC100 學習及獲得哪些”

2013 TiC100 學習及獲得哪些

Android 3.X 以上加入Menu 鍵

在Android 3.X 以下的版本,手機都會有實際的Menu 鍵(Menu button),但是在3.X之後的把實體Menu 鍵拿掉,引進了ActionBar 的類別,將Menu 鍵放在ActionBar 的部分,因為,最近把手機換成Nexus 4,發現Portable e-Campus 學校的App 沒顯示Menu 按鍵,查了一下看到官網有提供解決方法,這個方法很簡單,不用加ActionBar,因為我們的App 在某些介面下加入ActionBar 看起來會不太搭,但是之後可以會把ActionBar 加上去,因為這樣才能讓使用者有一致的操作方式。

一、顯示方式

Nexus S (Android 2.3.3)
Nexus S (Android 2.3.3) 具有實體Menu 鍵

 

Nexus 4 (Android 4.2.2)
Nexus 4 (Android 4.2.2) Menu 鍵在虛擬按鍵上

繼續閱讀 “Android 3.X 以上加入Menu 鍵”

Android 3.X 以上加入Menu 鍵