我的主機(ubuntu)上的當前用戶 ID 是:
$ echo "Host UID = $UID"
Host UID = 1000
但是當我運行這個 docker 容器時,我得到了相同的 UID:
$ docker run --rm --name test-container centos:7.9.2009 /bin/bash -c "echo $UID"
1000
如果我改為以互動方式運行容器,我會按預期得到 0:
$ docker run -it --rm --name test-container centos:7.9.2009
[root@4a79cb82abec /]# echo $UID
0
當我使用 運行容器時,為什么會得到錯誤的(我的主機用戶)UID /bin/bash -c "echo $UID"?
uj5u.com熱心網友回復:
您想UID從容器內部獲取。但是,該變數UID在主機的外殼本身上進行了擴展。使用單引號來避免它被擴展:
docker run --rm --name test-container centos:7.9.2009 /bin/bash -c 'echo $UID'
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/428407.html
