更動正在執行的 container
有時一個正在執行的 container 是不能停下來的,
如果要在行進間中的車子換輪子是可以做到的。
加上 restart=unless-stopped 的 policy
1 | $ docker update --restart unless-stopped d782 |
update 參數
這是一個修改現存 container 的方法。
iconv 是 linux 上字元轉換的工具。因為有很多機會需要把簡體中文轉換為繁體中文。所以 google 介紹了這個好用的工具。
iconv 把指定的檔案從來源字集轉換到目的字集。以我的應用場景,我是需要從簡體中文轉換到繁體中文。
可以查到簡體在 iconv 是 gb2312 而繁體中文是 big5。但是以現在的作業系統來說我們的字集一般是 utf8。
所以實作的操作是先從 utf8 轉換為 gb2312 , 指後再從 gb2312 轉換為 big5 ,最後再從 big5 再轉回 utf8。
列出目前支援的字集。
1 | $ iconv -l |
轉換字集
下面的例子是將檔案轉換為簡體。
1 | $ iconv -f utf8 -t gb2312 file.txt |
實際我們一般會如下進行轉換
1 | $ cat file.txt | iconv -f utf8 -t gb2312 | iconv -f gb2312 -t big5 | iconv -f big5 -t utf8 |
我們在 linux 上常常需要處理文字檔案。而其中最常就是要對檔案中的文字進行處理。
sed 就是這樣的工具。他可以對字串進行複製、取代、刪除。也可以處理 regex 文字。
直接用範例來說明
1 | $ echo 'This is a book' | sed 's/This/That/g' |
這個例子中,s
的指令就是取代,我們將出現的This
取代為That
,g
代表全部取代。
也可以同時多個操作。
1 | $ echo 'This is a book' | sed 's/This/That/g;s/book/dog/g' |
在這個例子中,我們同時將This
和book
同時取代為That
和dog
。
下面是我們在操作的文字檔案內容。
1 | { |
執行下刪除的指令。
1 | $ sed '/hexo/d' /tmp/abc.json |
原來檔中出現 hexo
的行都不見了。
sed 是很好用的工具,我們以後再來發掘。
1 | # haproxy -f /etc/haproxy.cfg -p /var/run/haproxy.pid -sf $(cat /var/run/haproxy.pid) |
可以不中斷服務的重新載入新的設定。