docker v不起作用的解決方法:1、在運行容器的時候,給容器加特權;2、暫時關閉selinux;3、新增selinux規則,將要掛載的目錄加入白名單。
本文操作環境: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中文網其他相關文章!

Docker在Linux上可以簡化應用部署和管理。 1)Docker是容器化平台,將應用及其依賴打包進輕量、可移植容器。 2)在Linux上,Docker利用cgroups和namespaces實現容器隔離和資源管理。 3)基本用法包括拉取鏡像和運行容器,高級用法如DockerCompose可定義多容器應用。 4)調試常用dockerlogs和dockerexec命令。 5)性能優化可通過多階段構建減小鏡像大小,保持Dockerfile簡潔是最佳實踐。

Docker是一種基於Linux容器技術的工具,用於打包、分發和運行應用,提升應用的可移植性和可擴展性。 1)通過dockerbuild和dockerrun命令,可以構建和運行Docker容器。 2)DockerCompose用於定義和運行多容器的Docker應用,簡化微服務管理。 3)使用多階段構建可以優化鏡像大小,提升應用啟動速度。 4)查看容器日誌是調試容器問題的有效方法。

Docker 容器啟動步驟:拉取容器鏡像:運行 "docker pull [鏡像名稱]"。創建容器:使用 "docker create [選項] [鏡像名稱] [命令和參數]"。啟動容器:執行 "docker start [容器名稱或 ID]"。檢查容器狀態:通過 "docker ps" 驗證容器是否正在運行。

查看 Docker 日誌的方法包括:使用 docker logs 命令,例如:docker logs CONTAINER_NAME使用 docker exec 命令運行 /bin/sh 並查看日誌文件,例如:docker exec -it CONTAINER_NAME /bin/sh ; cat /var/log/CONTAINER_NAME.log使用 Docker Compose 的 docker-compose logs 命令,例如:docker-compose -f docker-com

可以通過以下步驟查詢 Docker 容器名稱:列出所有容器(docker ps)。篩選容器列表(使用 grep 命令)。獲取容器名稱(位於 "NAMES" 列中)。

在 Docker 中創建容器: 1. 拉取鏡像: docker pull [鏡像名] 2. 創建容器: docker run [選項] [鏡像名] [命令] 3. 啟動容器: docker start [容器名]

退出 Docker 容器的四種方法:容器終端中使用 Ctrl D 快捷鍵容器終端中輸入 exit 命令宿主機終端中使用 docker stop <container_name> 命令宿主機終端中使用 docker kill <container_name> 命令(強制退出)

Docker 中將文件拷貝到外部主機的方法:使用 docker cp 命令:執行 docker cp [選項] <容器路徑> <主機路徑>。使用數據卷:在主機上創建目錄,在創建容器時使用 -v 參數掛載該目錄到容器內,實現文件雙向同步。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver Mac版
視覺化網頁開發工具