一千萬個為什麽

搜索

碼頭工人“不能mkdir:權限被拒絕”



我試圖在Docker中運行wordpress。

I've been following this tutorial : https://www.sitepoint.com/how-to-use-the-official-docker-wordpress-image/

但是當我運行這個命令時:

docker run -e WORDPRESS_DB_PASSWORD=xxxxxx -d --name wordpress --link wordpressdb:mysql -p 127.0.0.1:8080:80 -v "$PWD/":/var/www/html wordpress

容器崩潰,在日誌中我可以看到諸如以下內容:

tar: ./wp-admin: Cannot mkdir: Permission denied

轉載註明原文: 碼頭工人“不能mkdir:權限被拒絕”

一共有 4 個回答:

嘗試以root用戶身份運行此類命令,或者使用chown將用戶和組權限授予該文件夾。

這只是我現在想到的。

嗯,我想在這裏回答我自己。

問題是,我已經“破”了卷。

所以,我做了一個腳本來“重置”docker並安裝wordpress。 小心它消除了一切。

#!/bin/bash

# remove images
docker rmi $(docker images -q)  
# remove containers
docker stop $(docker ps -aq)
docker rm $(docker ps -aq)    
# remove volumes
docker volume rm $(docker volume ls -q)

echo "Type MySQL root password : "
read mspass

docker run --name wordpressdb -e MYSQL_ROOT_PASSWORD=$mspass -e MYSQL_DATABASE=wordpress -d mysql:5.7

docker run -e WORDPRESS_DB_PASSWORD=$mspass --name wordpress --link wordpressdb:mysql -p 127.0.0.2:8080:80 -v "$PWD/":/var/www/html -d wordpress

也許信息像 1)碼頭主機操作系統細節(RHEL,Centos,Ubuntu等) 2)安裝的目錄權限(ls -al) 將有助於調試此問題...

這也可能是一個SELinux問題,所以禁用SELinux並嘗試

為了檢查該目錄是否存在及其權限,請執行 ls -la $ PWD

PS:這應該是一個評論,但我沒有足夠的代表你確定你在正確的目錄?