Tuesday, October 17, 2017

Docker on ubuntu on ESXi

試左幾個唔同   config, 好似最方便都係 Docker on ubuntu on ESXi.

ESXi VM 設定

      如果想玩埋 VirtualBox, CPU 既 Hardware virtualization 要選.
      為左方便將來 copy & paste, 先改定 setting 好 D.
      VM Options -> Advanced -> Configuration Parameters -> Edit Configuration
      加下面兩個 parameter 都係 FALSE
      isolation.tools.copy.disable
      isolation.tools.paste.disable


安裝 open-vm-tools-desktop
    裝完之後, 盡快裝番 open-vm-tools-desktop
      - sudo apt-get update
        有時好黑仔, 搵唔到 hk.archive.ubuntu.com.
        可能係 VM  去 DNS 既問題, 係新裝既 VM 至會咁, 等幾日至得.
        想快既, 可以搵其他既 ping 個 ip 出黎, 自已加入去 /etc/hosts 頂住先.
     - sudo apt-get install open-vm-tools-desktop
     - sudo apt install net-tools (雖然唔係必須, 但唔知點解裝左對將來 docker-machine 有幫助)

     裝完之前, 配合埋 (1) 既兩個 parameter, reboot 完就可以同 host 既 clipboard 通左喇.


安裝 Docker
      - 先裝 linux-image-extra-* package
$ sudo apt-get install \
    linux-image-extra-$(uname -r) \
    linux-image-extra-virtual

    - 更新 repstitory
$ sudo apt-get update

$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Verify fingerprint:
$ sudo apt-key fingerprint 0EBFCD88

應該得到類似咁既結果:
pub   4096R/0EBFCD88 2017-02-22
      Key fingerprint = 9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid                  Docker Release (CE deb) <docker@docker.com>
sub   4096R/F273FCD8 2017-02-22

設定用 stable 版本:
$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

可以裝了 (default 用最新版本):

$ sudo apt-get update
$ sudo apt-get install docker-ce

可以用 docker 了, 不過下下都要 sudo 好煩.
本身裝完 docker 佢應該已經加左個 docker group,  不過, 行多次唔會死既.

$ sudo groupadd docker

將你個 user 加入去
sudo usermod -aG docker $USER
可以直接行 docker command 了.


安裝 VirtualBox
- 要裝 docker-machine, 在 ubuntu 上更係用 VirtualBox 喇, 唔通會有 Hyper-V 咩.
- 又係簡單到無朋友, apt-get 攪掂.

sudo apt-get install virtualbox 

仲可以裝埋 Oracle VM VirtualBox Extension Pack
sudo apt install virtualbox-ext-pack 

安裝 docker-machine
https://docs.docker.com/machine/install-machine/

$ curl -L https://github.com/docker/machine/releases/download/v0.12.2/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine &&
chmod +x /tmp/docker-machine &&
sudo cp /tmp/docker-machine /usr/local/bin/docker-machine

裝完 boot boot 機好D.

Enable VT/X

要係 VM 入面行 VM, 都要你個 VM 既 CPU support VT/X 了.



試下 build 個 VM
docker-machine create --driver virtualbox myvm1

執行 docker-machine ls 可以 check 下個 VM,  Running  有 IP 就 OK 哂了.


Monday, September 18, 2017

Docker on Windows 7 behind proxy

首先, 跟住呢度去裝左 Docker Toolbox on Windows 落部 Windows 7 x64 先.

https://docs.docker.com/toolbox/toolbox_install_windows/

其實都無乜特別, 只係 download 完 execute 答下野就裝完.
如果本身無裝 VirtualBox 既, 全用 default 就可以了.

裝完之後, desktop  會多左三個 icon.


基本上, 只係用最後一個就可以了, Click 個 Docker Quickstart Terminal.
第一次執行, 會先幫你 create 個 VM 既, 等下喇.

有時佢等 IP 會幾耐, 最後應該見到類似咁就完時.
記住佢個 host 既 IP, 將來你要 access 佢, 就要用呢個 ip 了.  (今次係 192.168.99.100)

拍下 key 就會 close 左.

再開一次 Docker Quickstart Terminal, 佢會自動起個 VM, 等一等見到咁就用得.

如果你跟住 Get Started 去試, 行 docker run hello-world 就會出 error.


正常, 因為新 VM 都未設定 proxy.


執行以下 command, 就可以設定 proxy 了 (自己改番  <user>,<pwd>,<server> 同 <port>)


docker-machine ssh default
sudo -s
echo "export HTTP_PROXY=http://<user>:<pwd>@<server>:<port>" >> /var/lib/boot2docker/profile
echo "export HTTPS_PROXY=http://<user>:<pwd>@<server>:<port>" >> /var/lib/boot2docker/profile
exit
exit


之後就  restart 一次個 VM:

docker-machine restart default

之後再黎多次 docker run hello-world, 成功喇.



注意:
有時唔知點解, set 好哂  proxy 再 restart 埋, 都仲係出 番原本既 error.
呢個可能係 Docker Toolbox 既 known bug, 上網搵下都好多人嘈呢樣野.
其實我今次裝完, 第一下都係唔 work, 不過重裝一次又得番, 唔知點解.

如果你都係咁, 試下:

  1. 等多一陣再試 (有人話食完 lunch 番黎得番, 可能因為有D野未行完)
  2. 再 restart 多次個 vm
  3. 重裝一次

重覆以上步驟, 應該總有一次會得, 得左之後唔會再出事了.
(唔係講笑架, 因為仲未有人確實搵出原因, 可能等下就得.)


之後, 如果你跟住 Get Started 去做, 當你 build 野果陣, 可能又出事:

係咪好奇怪, 明明都 download 到野,  但之後又話 connect 唔到.


我都唔識點講, 原因係 build 果下, 佢要行唔同既野, 一開始 pull 野落黎, 佢識得用番 VM 既 proxy setting, 但到佢行 pip install 果陣, 又唔識用 VM 既 proxy setting.
要解決唔解, 只要 build 果下, 用 build-arg 比埋個 proxy 佢 (試過只係加  HTTPS_PROXY 都得, 如果唔掂, 加埋 HTTP_PROXY):

docker build -t <repository> . --build-arg HTTPS_PROXY=http://<user>:<pwd>@<server>:<port>



之後 build 野都係加埋 proxy 就掂哂.


Saturday, September 16, 2017

在 ESXi 上裝 XPEnology DSM 6.0 (七) 設置 DSM

DSM 安裝好後, 自動 restart, 之後就開始設置.

首先填上機名及 Admin user, 注意, 機名唔好用 Diskstation.


可以開始設定

由於唔知係咪每次更新都可以用 VM 玩, 最好手動更新.  可以既做左 snapshot 至升級.
當然, 心口有個勇字既, 可以選 "Install the latest DSM version automatically"

QuickConnect 要上 Synology 登記, 唔反對大家試.
不過, 玩流野無謂咁揚了, 我都係 "Skip this step" 算了.

Set port forwarding 有幾難?  [Yes] 喇.

唔想 send 野比佢, uncheck 完就 [Go].


攪掂, 之後點用 DSM, 就自己研究了.



在 ESXi 上裝 XPEnology DSM 6.0 (六) 初啟 DSM

一切準備好哂, 就可以去開部 VM 了 - [Power On the Virtual Machine]

如果你 click icon bar 既 Launch Virtual Machine Console, 會見到咁既畫面:

無錯, DSM 既 Console 係無野睇既, 不過佢都講得好清楚, 叫你用 browser 開 http://find.synology.com, 打開會見到類似咁既畫面


玩得 VM, 又點可能得一隻 NAS, 佢預設機名會係 DiskStation, 最好每部機都改個獨立既名.
如果你唔改名, 再裝會出事.  不過, DSM 6 開始, 好似都要你自己定名.
如果真係多過一部, 先用 MAC Address 認番部新機先.  選好就 Connect 去.

都無野可以選, 更係 [Setup] 喇.

直接 [Install Now]

Data 會清哂, 預左喇. Check 左佢 [OK]


等佢慢慢裝 DSM :


裝完會自動 Restart.



下一步: 設置 DSM

在 ESXi 上裝 XPEnology DSM 6.0 (五) 修改 VM 設定 - 修改 MAC Address

之前都講過, DSM 本身有特定既 MAC Address 的, 咁隻 VM 當然唔可以亂黎.

去番 Hardware 果版, 選 張 Network adapter,  預設既  MAC Address 係 Automatic 既.

改成 Manual 再填番之設定既 MAC Address (如果無改就係 00:11:32:2C:A6:03 )



回去: 修改 VM 設定


在 ESXi 上裝 XPEnology DSM 6.0 (五) 修改 VM 設定

VM 起左, File 上齊, 就可以攪埋 VM 既設定了.
去 vSphere Client, 搵番隻 VM, 選 Edit virtual machine settings


由於 vSphere Client 對 version 9 或以上都已經唔係完全 support, 會有句咁野, [OK] 就得.


之後就會見到 Virtual Machine Properties 了.


(1) 加入  DSM image file

(2) 加 HD - 雖然 DSM 無 HD 都起到, 但佢都有D野要裝落去磁碟度, 無碟都唔得.

(3) 修改 MAC Address

(4) 最後, 可以刪走埋個 Floppy drive 1, 反正無用既.

再 check 下 D change, 無問題就 [OK] 做野

[OK] 之後會出番去, 好似無野.  留意下面會有個 Task 同你 Reconfigure virtual machine, 等下佢做野先.  唔好心急.

直到佢出左 Complete 就可以準備起隻 DSM 了.



回去: 初啟 DSM


在 ESXi 上裝 XPEnology DSM 6.0 (五) 修改 VM 設定 - 加 HD

裝得 DSM, 又點會無 HD.

同之前加  DSM image 一樣, 在 Hardware 果版 click [Add...], 再選  Hard Disk 然後 [Next]



今次要 "Create new virtual disk"


之後, 設定大少, 選 type, 如果放另一個 storage, 要選 "Specify a datastore or datastore cluster", 再 browse 去選 Storage, OK 就 [Next]




之後都係用 default [Next]

OK 就可以 [Finish]


一隻新碟就加左上去了


重複以上步驟, 想加幾多隻自己決定.


回去: 修改 VM 設定


在 ESXi 上裝 XPEnology DSM 6.0 (五) 修改 VM 設定 - 加入 DSM image

首先, 將 DSM image mount 上去.  好簡單, 在 Hardware 果版 click [Add...], 再選  Hard Disk 然後 [Next]

選 "Use an existing virtual disk" 然後 [Next]


Click [Browse...]


之後選番你個 VM 裝既 Storage, 再去番個 folder, 搵番個 synoboot.vmdk 就 [OK]




Disk File Path 自動填上, 就可以 [Next] 了


再  [Next]




可以 [Finish] 了



會見到加左一隻 50MB 既 HD 了 (同時自動加左張 SCSI controller)



回去: 修改 VM 設定