命令簡單應用 docker

2021-09-27 05:05:58 字數 1624 閱讀 2946

docker 是乙個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到乙個可移植的容器中,然後發布到任何流行的linux機器上,也可以實現虛擬化,容器是完全使用沙箱機制,相互之間不會有任何介面。

乙個完整的docker有以下幾個部分組成:

dockerclient客戶端

docker daemon守護程序

docker image映象

dockercontainer容器

常用和須理解的項

1、日誌和審核

收集和歸檔與docker相關的安全日誌來達到審核和監督的目的。從host[8],可以使用下面的命令來訪問容器外的日誌檔案:

docker run -v /dev/log:/dev/log/bin/sh

使用docker命令內建:

docker logs ... (-f to follow log output)

日誌檔案也可以從持續儲存匯出到乙個使用壓縮包裡面:

docker export ...

3、守護特權

為了防止通過系統資源耗盡的ddos***,可以使用特定的命令列引數被來進行一些資源限制。

cpu使用率:

docker run -it --rm --cpuset=0,1 -c 2 ...

記憶體使用:

docker run -it --rm -m 128m ...

儲存使用:

docker -d --storage-opt dm.basesize=5g

磁碟i/o:

不支援docker。blockio*屬性可以通過systemd暴露,並且在支援作業系統中被用來控制磁碟的使用配額。

5、二進位制suid/guid

suid和guid二進位制檔案不穩定的時候容易受到***,而這個時候是很危險的,,導致任意**執行(如緩衝區溢位),因為它們會程序的檔案所有者或組的上下文中執行。如果可能的話,禁止suid和sgid使用特定的命令列引數來降低容器的功能。

docker run -it --rm --cap-drop setuid --cap-drop setgid ...

另一選擇,可以考慮運用通過安裝有nosuid屬性的檔案系統來移除掉suid能力。

最後乙個選擇是從系統中徹底刪除不需要的suid和guid二進位制檔案。這些型別的二進位制檔案可以在linux系統中執行以下命令而找到:

find / -perm -4000 -exec ls -l {} \; 2>/dev/null

find / -perm -2000 -exec ls -l {} \; 2>/dev/null

可以使用類似於下面的[11]命令將suid和guid檔案許可權刪除然後:

sudo chmod u-s filename sudo chmod -r g-s directory

*6、裝置控制組(/dev/) **

如果需要,使用內建的裝置選項(不使用-v與--privileged引數)。此功能在推出1.2版本[12]。

例如(音效卡使用):

docker run --device=/dev/snd:/dev/snd …

docker簡單命令

service docker start 啟動 service docker stop 停止 service docker restart 重啟 docker start id name 啟動 docker stop id name 停止 docker restart id name 重啟 多個id...

docker簡單命令

docker pull centos docker pull sameersbn redmine latest docker images 刪除容器 docker rm 容器名 or id 檢視容器日誌 docker logs f 容器名 or id 檢視正在執行的容器 docker ps 檢視所有...

docker命令簡單學習

模板 docker images 作用 顯示映象 引數 a 所有映象 含中間映像層 q 只顯示映象id qa 所有容器id digests 顯示映象的摘要 no trunc 顯示完整映象資訊 模板 docker search imagename 作用 搜尋映象 引數 s 搜尋收藏數不少於s的映象 n...