Bash
如何在bash腳本中檢查它是docker還是主機?
我正在為 docker 容器編寫一個 shell 腳本。
我想在執行我的腳本之前檢查它是 docker 容器還是主機。
像這樣的東西:
if $MACHINE=docker; then echo proceed elif $MACHINE=host; then echo 'it's not container' exit fi
您可以檢查是否有任何控制組屬於 docker:
if grep -q docker /proc/1/cgroup; then echo inside docker else echo on host exit fi
你可以使用
virt-what
,它現在可以辨識 Docker 了。您可以使用apt install virt-what
或yum install virt-what
分別在 Debian 及其衍生產品或 Red Hat 及其衍生產品上安裝它。如果它返回程式碼 0,則沒有錯誤,它是物理機或未辨識的虛擬機類型。碼頭工人返回docker
.