我正在尝试在docker中运行wordpress。

我一直在关注本教程: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


评论

为了检查该目录是否存在及其权限,请执行ls -la $ PWD PS:这应该是注释,但我没有足够的代表您确定您在正确的目录中吗?

您是否尝试过使用绝对路径?

#1 楼

尝试以root身份运行这样的命令,或者使用chown授予该文件夹的用户和组权限。

这只是我现在想到的。

评论


我以root身份运行它。并在要链接的文件夹上使用了chmod 777

–Loïc
17年8月21日在2:45

#2 楼

嗯,我想在这里回答自己。

问题是,我的卷“坏了”。

所以,我编写了一个小脚本来“重置“ 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


评论


断卷是什么意思?

–RuBiCK
17年8月27日在14:59

我真的不知道,只是当我删除它们时,一切正常

–Loïc
17年8月27日在18:25

#3 楼

也许像
1)Docker主机操作系统详细信息(RHEL,Centos,Ubuntu等)之类的信息
2)挂载的目录权限(ls -al)
将有助于调试此问题。 。

这也可能是SELinux的问题,因此请禁用SELinux并尝试