亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

前言

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

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

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

Docker 允許 docker 組的用戶運(yùn)行 Docker 命令,因此最簡(jiǎn)單的方法是將你的用戶加入 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
  • 測(cè)試是否生效
docker ps

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

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

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

sudo docker build -t myimage .

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

方法 3:使用 Docker Rootless 模式

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

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

安裝完成后,執(zhí)行以下命令來(lái)配置環(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
  • 啟動(dòng) Rootless Docker
systemctl --user start docker

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

總結(jié)

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

最佳實(shí)踐

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

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

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

如果 docker ps 仍然報(bào)錯(cuò),嘗試 重新登錄系統(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker部署SpringBoot項(xiàng)目,本地運(yùn)行正常,部署至服務(wù)器報(bào)錯(cuò)zip file closed問(wèn)題

    Docker部署SpringBoot項(xiàng)目,本地運(yùn)行正常,部署至服務(wù)器報(bào)錯(cuò)zip file close

    這篇文章主要介紹了Docker部署SpringBoot項(xiàng)目,本地運(yùn)行正常,部署至服務(wù)器報(bào)錯(cuò)zip file closed問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • 利用寶塔面板和docker快速部署網(wǎng)站的基本流程

    利用寶塔面板和docker快速部署網(wǎng)站的基本流程

    當(dāng)你有了一臺(tái)服務(wù)器,就會(huì)折騰往這臺(tái)服務(wù)器上部署各種好玩的網(wǎng)站,本文將以部署filebrowser舉例介紹網(wǎng)站部署的基本流程,感興趣的朋友一起看看吧
    2023-12-12
  • 在docker容器中運(yùn)行flask應(yīng)用過(guò)程

    在docker容器中運(yùn)行flask應(yīng)用過(guò)程

    這篇文章主要介紹了在docker容器中運(yùn)行flask應(yīng)用過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • 如何修改Docker部署gitlab的外部訪問(wèn)地址和端口

    如何修改Docker部署gitlab的外部訪問(wèn)地址和端口

    這篇文章主要介紹了如何修改Docker部署gitlab的外部訪問(wèn)地址和端口問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 解決Docker x509 insecure registry的問(wèn)題

    解決Docker x509 insecure registry的問(wèn)題

    這篇文章主要介紹了解決Docker x509 insecure registry的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • Docker 實(shí)用技巧總結(jié)

    Docker 實(shí)用技巧總結(jié)

    這篇文章主要介紹了Docker 實(shí)用技巧總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • Docker 教程之鏡像列出詳細(xì)介紹

    Docker 教程之鏡像列出詳細(xì)介紹

    這篇文章主要介紹了Docker 教程之鏡像列出詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • 在Dockerfile中copy和add的區(qū)別及說(shuō)明

    在Dockerfile中copy和add的區(qū)別及說(shuō)明

    COPY和ADD都是Dockerfile中用于文件復(fù)制的命令,但COPY僅用于本地文件或目錄的復(fù)制,不支持自動(dòng)解壓縮;而ADD除了復(fù)制本地文件或目錄外,還支持解壓縮和從URL下載文件,在一般情況下,建議使用COPY命令
    2025-03-03
  • Docker使用run命令部署MySQL的流程步驟

    Docker使用run命令部署MySQL的流程步驟

    容器化技術(shù)為數(shù)據(jù)庫(kù)部署帶來(lái)了革命性的變化,MySQL作為最流行的開(kāi)源關(guān)系型數(shù)據(jù)庫(kù)之一,結(jié)合Docker容器可以實(shí)現(xiàn)快速部署、環(huán)境隔離和便捷管理,本文給大家介紹了Docker使用run命令部署MySQL的流程步驟,需要的朋友可以參考下
    2025-03-03
  • Docker Stack 部署web集群的方法步驟

    Docker Stack 部署web集群的方法步驟

    這篇文章主要介紹了Docker Stack 部署web集群的方法步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02

最新評(píng)論