欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

讓非root用戶構(gòu)建Docker鏡像的三種方法

 更新時間:2025年04月18日 10:31:57   作者:代碼怪獸大作戰(zhàn)  
在默認(rèn)情況下,Docker?需要?root?權(quán)限或?sudo?才能運(yùn)行,這對于日常開發(fā)和?CI/CD?流水線可能不夠方便,那么,如何讓?非?root?用戶?也能構(gòu)建和運(yùn)行?Docker?容器呢?本篇文章將介紹?三種方法?來實(shí)現(xiàn)這一目標(biāo),需要的朋友可以參考下

前言

在默認(rèn)情況下,Docker 需要 root 權(quán)限或 sudo 才能運(yùn)行。這對于日常開發(fā)和 CI/CD 流水線可能不夠方便,也可能帶來安全隱患。那么,如何讓 非 root 用戶 也能構(gòu)建和運(yùn)行 Docker 容器呢?

本篇文章將介紹 三種方法 來實(shí)現(xiàn)這一目標(biāo),并推薦最佳實(shí)踐。

方法 1:將用戶加入 Docker 組(推薦)

Docker 允許 docker 組的用戶運(yùn)行 Docker 命令,因此最簡單的方法是將你的用戶加入 docker 組。

  • 創(chuàng)建 Docker 組(如果不存在)
sudo groupadd docker
  • 將用戶加入 Docker 組
sudo usermod -aG docker $USER
  • 如果你要添加其他用戶,替換 $USER 為具體的用戶名:
sudo usermod -aG docker your-username
  • 重新登錄使權(quán)限生效

執(zhí)行以下命令讓組權(quán)限立即生效,或者注銷并重新登錄:

newgrp docker
  • 測試是否生效
docker ps

如果能正確輸出 Docker 運(yùn)行中的容器列表,而 不需要 sudo,則說明配置成功。

方法 2:使用 sudo 運(yùn)行 Docker(不推薦)

如果你不想修改用戶組,可以在每次執(zhí)行 Docker 命令時使用 sudo

sudo docker build -t myimage .

但這樣使用起來不方便,并且某些 CI/CD 或自動化腳本可能不兼容 sudo,所以 不推薦 這種方式。

方法 3:使用 Docker Rootless 模式

Docker 提供了 Rootless Mode(無特權(quán)模式),允許普通用戶運(yùn)行 Docker 容器,而無需 root 權(quán)限。

  • 安裝 Rootless Docker
curl -fsSL https://get.docker.com/rootless | sh
  • 設(shè)置環(huán)境變量

安裝完成后,執(zhí)行以下命令來配置環(huán)境變量:

export PATH=$HOME/bin:$PATH
export DOCKER_HOST=unix://$XDG_RUNTIME_DIR/docker.sock

讓這些配置永久生效:

echo 'export PATH=$HOME/bin:$PATH' >> ~/.bashrc
echo 'export DOCKER_HOST=unix://$XDG_RUNTIME_DIR/docker.sock' >> ~/.bashrc
source ~/.bashrc
  • 啟動 Rootless Docker
systemctl --user start docker

Rootless 模式適用于不允許修改系統(tǒng)用戶組的環(huán)境,比如某些企業(yè)級服務(wù)器。

總結(jié)

方法適用場景推薦級
添加用戶到 docker 組適用于大多數(shù)情況,安全且便捷?????(推薦)
使用 sudo 運(yùn)行 Docker適用于臨時使用,但不夠方便???(不推薦)
Docker Rootless 模式適用于不能修改用戶組的環(huán)境????

最佳實(shí)踐

如果你的服務(wù)器上有多個開發(fā)人員共用 Docker,建議使用 docker 組方式,這樣既安全又方便。

你可以使用以下命令快速完成設(shè)置:

sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
docker ps  # 測試是否生效

如果 docker ps 仍然報錯,嘗試 重新登錄系統(tǒng) 或 重啟 Docker

sudo systemctl restart docker

這樣,你的非 root 用戶就可以 直接運(yùn)行 Docker 并構(gòu)建鏡像 了!

到此這篇關(guān)于讓非root用戶構(gòu)建Docker鏡像的三種方法的文章就介紹到這了,更多相關(guān)非root用戶構(gòu)建Docker鏡像內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論