Docker 是一個優(yōu)秀的容器化引擎,它的優(yōu)點就是輕量,快速,一致性以及可移植性。在使用 Docker 時,我們可以創(chuàng)建自己的容器,其中也包括 Docker 鏡像的構(gòu)建和發(fā)布。但是,你是否曾經(jīng)考慮過 Docker 的內(nèi)部用戶這一概念呢。
Docker 內(nèi)部用戶就像是 Linux 系統(tǒng)上的用戶,每個用戶擁有自己的 UID 和 GID。當你運行一個 Docker 容器時,它會有自己的 root 用戶和其他普通用戶。這些用戶的作用及權(quán)限又有何不同呢?
USER root RUN apt-get update && apt-get install -y curl USER docker RUN curl -sL https://deb.nodesource.com/setup_8.x | bash - RUN apt-get install -y nodejs
在上述例子中,我們指定了兩個 Docker 內(nèi)部用戶。首先,我們在容器開始時使用 root 用戶來更新并安裝 curl。然后,我們將用戶切換為 docker 用戶并安裝 Node.js。這里的 root 用戶比 docker 用戶具有更高的權(quán)限。
通過理解 Docker 內(nèi)部用戶的作用,我們可以更好地配置 Docker 容器,控制容器中進程的權(quán)限并提高容器的安全性、可靠性及性能。