在Docker中,有兩種用戶身份:root用戶和普通用戶。默認情況下,Docker容器中的用戶身份是root用戶,因為Docker鏡像在構建時一般都是以root用戶的身份運行,所以容器啟動后默認也是以root用戶身份運行的。
然而,出于安全和限制某些容器操作的目的,我們還需要在容器中創建普通用戶。這些普通用戶可以被賦予不同的權限,以控制容器中的操作。
# 創建一個名為'apps'的普通用戶,并設置其密碼為'password' RUN useradd -m -s /bin/bash apps RUN echo 'apps:password' | chpasswd
在上述代碼中,我們使用了useradd命令創建了一個名為'apps'的普通用戶,-m選項表示自動為該用戶創建一個home目錄,-s /bin/bash選項表示該用戶默認的shell是bash。接下來,使用echo命令為該用戶設置了一個密碼。
在啟動容器時,我們可以使用-d選項指定以創建的用戶身份運行。
# 以名為'apps'的用戶運行容器 docker run -d --name my-container -u apps my-image
在上述命令中,我們使用-u選項指定了容器的運行用戶為名為'apps'的用戶。
通過在容器中創建普通用戶,我們能夠更好的管理容器操作和提高容器的安全性。
下一篇c json中文解析