首頁  >  文章  >  運維  >  docker v 不起作用怎麼辦

docker v 不起作用怎麼辦

藏色散人
藏色散人原創
2021-12-09 15:02:464331瀏覽

docker v不起作用的解決方法:1、在運行容器的時候,給容器加特權;2、暫時關閉selinux;3、新增selinux規則,將要掛載的目錄加入白名單。

docker v 不起作用怎麼辦

本文操作環境:ubuntu 18.04系統、Docker 20.10.11版、Dell G3電腦。

docker v 不起作用怎麼辦?

#關於docker -v 掛載後服務無法啟動問題

最近在學習docker, 做了一個簡單的nginx映像。
由於需要做成可玩的nginx。所以需要把容器內的設定檔在宿主機上進行掛載方便操作。
搞了一段時間,發現docker run 加了-v 屬性後。服務就會啟動不起來。

困擾了一段時間,去看了一下掛載這個東西。
終於找到問題的原因,這裡做記錄了。原因是CentOS7中的安全模組selinux把權限禁掉了,至少有以下三種方式解決掛載的目錄沒有權限的問題:

1,在運作容器的時候,給容器加特權:

範例:docker run -i -t –privileged=true -v /home/docs:/src waterchestnut/nodejs:0.12.0

#2,暫時關閉selinux:

範例:su -c

之後執行:

docker run -i -t -v /home/docs:/src waterchestnut/nodejs:0.12.0

注意:之後要記得重新開啟selinux,指令:su -c “setenforce 1 ”

3,新增selinux規則,將要掛載的目錄加入白名單:

範例:chcon -Rt svirt_sandbox_file_t /home/docs

之後執行:

docker run -i -t -v /home/docs:/src waterchestnut/nodejs:0.12.0

有了掛載權限後,就能啟動成功了。

推薦學習:《Docker影片教學

以上是docker v 不起作用怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn