中斷所有正在運作的 container:
docker kill $(docker ps -q)
刪除所有已中止的 container:
docker rm $(docker ps -a -q)
刪除所有的 images:
docker rmi $(docker images -q)
軟體開發、伺服器和生活瑣事
中斷所有正在運作的 container:
docker kill $(docker ps -q)
刪除所有已中止的 container:
docker rm $(docker ps -a -q)
刪除所有的 images:
docker rmi $(docker images -q)
在 Ubuntu 14.04 時代,網路介面的設定檔在 /etc/network/interfaces,但在 18.04 以後改用了 netplan 來做網路介面的管理,設定檔也跟著改變。
打開 /etc/network/interfaces 後,你會看到以下的說明:
# ifupdown has been replaced by netplan(5) on this system. See
# /etc/netplan for current configuration.
# To re-enable ifupdown on this system, you can run:
# sudo apt install ifupdown
若要修改網路設定檔,大至上要二個步驟:
確認網路介面的 ID (Ubuntu 18.04 的網路介面代號與 14.04 不同)
修改網路設定檔:/etc/netplan/50-cloud-init.yaml
舊版的網路卡 ID 會是「eth0」這樣的表示,不過在 Ubuntu 18.04 代號有變動,記得先使用 ifconfig 確認:
$ ifconfig -a
ens33: flags=4163 mtu 1500
inet 192.168.0.102 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::20c:29ff:fead:d664 prefixlen 64 scopeid 0x20
....
Ubuntu 18.04 使用的 netplan 設定檔位於 /etc/netplan/*.yaml,如果是新安裝好的機器,應該可以看到「50-cloud-init.yaml」這個檔案。
開啟檔案後,可以看到以下格式的設定:
network:
ethernets:
ens33:
addresses: []
dhcp4: true
version: 2
YAML 的檔案格式可以參考 netplan.io 的說明。
假設要改成 static IP,則設定檔的大概會改成以下這個樣子:
network:
ethernets:
ens33:
addresses: [192.168.0.10/24]
gateway4: 192.168.0.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
dhcp4: false
version: 2
設定檔修改以後不會立即生效,需要呼叫 netplan 讀取並套用新的設定:
$ sudo netplan apply
最新版 Kali Linux 2019.1 版釋出:
爬 log 剛好遇到 JSON 的其中一個 key 名稱中有「-」(dash) 符號,所以 console 怎麼寫都有錯誤訊息:
$ cat log | cut -d$'t' -f 4 | jq .http-post
jq: error: post/0 is not defined at , line 1:
.http-post
jq: 1 compile error
從錯誤訊息可以看到「http-post」被切斷了。
若 key name 有特殊符號,或是特殊字元,記得要用引號包起來進行查詢:
$ cat log | cut -d$'t' -f 4 | jq '."http-post"'
{
"action": "get",
"name": "John",
"category": "RD",
}