2016/08/22

將虛擬機器映像檔 匯入AWS EC2



由於必須必須把映像檔上傳至 S3 上才能建立 EC2 的 AMI

所以我們先在S3上建立一個 bucket

```sh
aws s3api create-bucket --bucket vm-image
```

將映像檔上傳至 S3
```sh
aws s3 cp ~/ubuntu.ova s3://vm-image/
```

建立一個名為 vmimport 的 role

```sh
aws iam create-role --role-name vmimport
```

condition 要改為

"sts:Externalid":"vmimport"


開始匯入囉
```sh
aws ec2 import-image --cli-input-json "{ \"Description\": \"Ubuntu\", \"Format\": \"ova\", \"UserBucket\": { \"S3Bucket\": \"vm-image\", \"S3Key\": \"Ubuntu.ova\" } }"
```

之後就是等等等, 當然可以查進度
```sh
aws ec2 describe-import-image-tasks --import-task-ids import-ami-xxxxxxxxxx
```

完成後就會在你的EC2的AMIs看到image囉


Reference:
* http://docs.aws.amazon.com/vm-import/latest/userguide/import-vm-image.html#import-vm
* http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html

2016/07/18

docker 解決 container mount檔案



目前在操作 docker 上會遇到一個問題:
mount 某個檔案或某的目錄到 container 上後修改 host 上的擋案後 container 對應的擋案不會跟著變動

docker container 預設加入 host 至 /etc/hosts




從 docker v1.3.1 起
docker支援了 --add-host 的參數可以再啟動時加入私有主機別名設定 (/etc/hosts)
可參考 https://docs.docker.com/v1.8/reference/run/#network-settings

我們只要再docker啟動時加入 --add-host $NAME:$IP
例如:

docker run -itd --restart=always --name lol_backend -p 80:80 -p $22:22 --add-host db:10.10.10.1 lol_backend


有多筆就加多個囉

docker run -itd --restart=always --name lol_backend -p 80:80 -p $22:22 --add-host db:10.10.10.1 --add-host db2:10.10.10.2 lol_backend

2016/06/21

vim 游標背景



老了...看東西常常看不清楚...

常常 vim 後找不到游標在哪一行

這時候就該開啟 set cursorline 的功能


你可以在命令列模式直接打上

:set cursorline


或是編輯 .vimrc 加上一行

set cursorline

2016/06/18

如何讓你 macOS 的 terminal 連 SSH 不會自動斷線



這個問題困擾我一陣子了

常常 ssh 看東西一陣子不動它後就會斷線

以前在 windows 用的軟體有內建送出防 idle 的字元出去

不過 macOS 的 terminal 似乎沒這麼聰明啊~

今天找了3個解決方法

這三個方法意思相同, 都是透過 ssh 軟體做設定, 只不過是在不同地方而已