好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Docker 運行時的用戶與組管理的方法

Docker 運行時的用戶與組管理的方法

熱門標簽:i智能電話機器人yeta 哈爾濱400電話去哪辦理 話術外呼系統 廣東如何申請400電話 北京人工外呼系統廠家 燃氣管線地圖標注顏色 寧波400電話辦理對企業的意義 400電話申請要什么條件 西柏坡地圖標注

docker 以進程為核心, 對系統資源進行隔離使用的管理工具. 隔離是通過 cgroups (control groups 進程控制組) 這個操作系統內核特性來實現的. 包括用戶的參數限制、 帳戶管理、 資源(CPU,內存,磁盤I/O,網絡)使用的隔離等. docker 在運行時可以為容器內進程指定用戶和組. 沒有指定時默認是 root .但因為隔離的原因, 并不會因此喪失安全性. 傳統上, 特定的應用都以特定的用戶來運行, 在容器內進程指定運行程序的所屬用戶或組并不需要在 host 中事先創建.

進程控制組cgroups主要可能做以下幾件事:

  • 資源限制 組可以設置為不超過配置的內存限制, 其中還包括文件系統緩存
  • 優先級 某些組可能會獲得更大的 CPU 利用率份額或磁盤 i/o 吞吐量
  • 帳號會計 度量組的資源使用情況, 例如, 用于計費的目的
  • 控制 凍結組進程, 設置進程的檢查點和重新啟動

與 cgroups(控制進程組) 相關聯的概念是 namespaces (命令空間).

命名空間主要有六種名稱隔離類型:

  • PID 命名空間為進程標識符 (PIDs) 的分配、進程列表及其詳細信息提供了隔離。

雖然新命名空間與其他同級對象隔離, 但其 "父 " 命名空間中的進程仍會看到子命名空間中的所有進程 (盡管具有不同的 PID 編號)。

  • 網絡命名空間隔離網絡接口控制器 (物理或虛擬)、iptables 防火墻規則、路由表等。網絡命名空間可以使用 "veth " 虛擬以太網設備彼此連接。
  • UTS 命名空間允許更改主機名。
  • mount(裝載)命名空間允許創建不同的文件系統布局, 或使某些裝入點為只讀。
  • IPC 命名空間將 System V 的進程間通信通過命名空間隔離開來。
  • 用戶命名空間將用戶 id 通過命名空間隔離開來。

普通用戶 docker run 容器內 root

如 busybox, 可以在 docker 容器中以 root 身份運行軟件. 但 docker 容器本身仍以普通用戶執行.

考慮這樣的情況

echo test | docker run -i busybox cat

前面的是當前用戶當前系統進程,后面的轉入容器內用戶和容器內進程運行.

當在容器內 PID 以1運行時, Linux 會忽略信號系統的默認行為, 進程收到 SIGINT 或 SIGTERM 信號時不會退出, 除非你的進程為此編碼. 可以通過 Dockerfile STOPSIGNAL signal指定停止信號.

如:

STOPSIGNAL SIGKILL

創建一個 Dockerfile

FROM alpine:latest
RUN apk add --update htop && rm -rf /var/cache/apk/*
CMD ["htop"]
$ docker build -t myhtop . #構建鏡像
$ docker run -it --rm --pid=host myhtop #與 host 進程運行于同一個命名空間

普通用戶 docker run 容器內指定不同用戶 demo_user

docker run --user=demo_user:group1 --group-add group2 <image_name> <command>

這里的 demo_user 和 group1(主組), group2(副組) 不是主機的用戶和組, 而是創建容器鏡像時創建的.

當Dockerfile里沒有通過USER指令指定運行用戶時, 容器會以 root 用戶運行進程.

docker 指定用戶的方式

Dockerfile 中指定用戶運行特定的命令

USER <user>[:<group>] #或
USER <UID>[:<GID>]

docker run -u(--user)[user:group] 或 --group-add 參數方式

$ docker run busybox cat /etc/passwd
root:x:0:0:root:/root:/bin/sh
...
www-data:x:33:33:www-data:/var/www:/bin/false
nobody:x:65534:65534:nobody:/home:/bin/false

$ docker run --user www-data busybox id
uid=33(www-data) gid=33(www-data)

docker 容器內用戶的權限

對比以下情況, host 中普通用戶創建的文件, 到 docker 容器下映射成了 root 用戶屬主:

$ mkdir test && touch test/a.txt && cd test
$ docker run --rm -it -v `pwd`:/mnt -w /mnt busybox  /bin/sh -c 'ls -al /mnt/*' 
-rw-r--r--  1 root   root       0 Oct 22 15:36 /mnt/a.txt

而在容器內卷目錄中創建的文件, 則對應 host 當前執行 docker 的用戶:

$ docker run --rm -it -v `pwd`:/mnt -w /mnt busybox  /bin/sh -c 'touch b.txt'
$ ls -al
-rw-r--r-- 1 xwx staff  0 10 22 23:36 a.txt
-rw-r--r-- 1 xwx staff  0 10 22 23:54 b.txt

docker volume 文件訪問權限

創建和使用卷, docker 不支持相對路徑的掛載點, 多個容器可以同時使用同一個卷.

$ docker volume create hello #創建卷

hello

$ docker run -it --rm -v hello:/world -w /world busybox /bin/sh -c 'touch /world/a.txt && ls -al'  #容器內建個文件
total 8
drwxr-xr-x  2 root   root     4096 Oct 22 16:38 .
drwxr-xr-x  1 root   root     4096 Oct 22 16:38 ..
-rw-r--r--  1 root   root       0 Oct 22 16:38 a.txt

$ docker run -it --rm -v hello:/world -w /world busybox /bin/sh -c 'rm /world/a.txt && ls -al' #從容器內刪除
total 8
drwxr-xr-x  2 root   root     4096 Oct 22 16:38 .
drwxr-xr-x  1 root   root     4096 Oct 22 16:38 ..

外部創建文件, 容器內指定用戶去刪除

$ touch c.txt && sudo chmod root:wheel c.txt
$ docker run -u 100 -it --rm -v `pwd`:/world -w /world busybox /bin/sh -c 'rm /world/c.txt && ls -al'

實際是可以刪除的

rm: remove '/world/c.txt'? y
total 4
drwxr-xr-x  4 100   root      128 Oct 23 16:09 .
drwxr-xr-x  1 root   root     4096 Oct 23 16:09 ..
-rw-r--r--  1 100   root       0 Oct 22 15:36 a.txt
-rw-r--r--  1 100   root       0 Oct 22 15:54 b.txt

docker 普通用戶的1024以下端口權限

 $ docker run -u 100 -it --rm -p 70:80 busybox /bin/sh -c 'nc -l -p 80'
nc: bind: Permission denied #用戶id 100 時, 不能打開80端口
 $ docker run -u 100 -it --rm -p 70:8800 busybox /bin/sh -c 'nc -l -p 8800' #容器端口大于1024時則可以
...
 $ docker run -it --rm -p 70:80 busybox /bin/sh -c 'nc -l -p 80' #容器內是 root 也可以
...

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:阜陽 巴中 襄陽 珠海 西藏 湘潭 開封 張家口

巨人網絡通訊聲明:本文標題《Docker 運行時的用戶與組管理的方法》,本文關鍵詞  Docker,運行時,的,用戶,與,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Docker 運行時的用戶與組管理的方法》相關的同類信息!
  • 本頁收集關于Docker 運行時的用戶與組管理的方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 成年人视频app免费软件网站| 久久婷婷五月综合色国产香蕉| 韩国一级婬A片AAAA片动漫 | 日本国旗| 一级全黄60分钟免费| 亚洲国产精品自产拍在线播放| 久久精品国产亚洲片| 国产伦码精品一区二区三区| 红楼梦婬史A片在线观看| 91人妻精品国产综合久| 久久无码潮喷A片一区二区| 男生和女生搞逼| 五月婷激情| 亚洲精品秘?一区二区or| 沦为妓女的美女董事长小说| 丰满烈乳镇丰乳镇娇妻| 挺进撅起来的美妇肥臀| 国产精品亚洲AV三区黑牛牛影视| 98在线无码精品秘?入口男同| 景甜第一次| 嗯好爽好大好涨hhh| 欧美在线观看成人精品免费| 黄色微视频| 男女做爰猛烈吃奶摸馒头| 电影《欲妇艳谭》| 性暴力小说| 日女人逼逼视频| 国产99久一区二区三区A片| 无码人妻AV一区二区三区视频网站| 日本无码吃奶揉捏奶好紧湿答答| 丝袜OL美脚秘书在线播放| 人妻激情偷乱视频区二区三区| 黄色一级美女| 6080影视影院新视觉| 潘金莲被武松高潮八次| 欧乱色国产精品兔费视频| 很黄很刺激| 亚洲综合91| 武松与潘金莲特级毛片| 大色AV欧美影院| 久久夜色精品国产欧美乱极品 |