Docker撰写WordPress的例子
我一直在遵循快速入门指南:撰写和Wordpress,并不能得到它的工作。
我认为这与我的目录结构有关。 运行所有的步骤后,我有一个名为wordpress
的子目录,但我认为我所有的代码引用了一个名为code
的子目录,所以我决定重命名我的wordpress
目录code
。 然后我重新运行docker-compose up
但这也不幸没有工作。
更新:当我input加载PHP服务器返回的网站时, “无法正常工作” :
Not Found The requested resource / was not found on this server
你的Dockerfile
和Dockerfile
docker-compose.yml
应该在你的wordpress目录中。 (你改名的代码)
你的困惑
出于某种原因,你认为有一个代码目录涉及。 在wordpress中没有这样的目录,这是完全正常的。
让我们来分解令你困惑的命令:
- 在
Dockerfile
:
ADD . /code
这一行有效地将指定的目录(在这里)复制到指定的容器目录(这里是/代码)。
它只相当于从主机复制到容器的cp
命令。
- 在
docker-compose.yml
:
volumes: - .:/code
这个命令将一个目录暴露给一个容器。 这里我们公开主机目录。 进入容器目录/代码。
注意:如果你理解了音量,你可能会意识到你的Dockerfile中的ADD
指令是不必要的。
为什么它不工作
您docker-compose.yml
和Dockerfile
位于预期的工作目录之上。
因此,当docker-compose执行时,它将当前目录的内容复制到容器的/ code目录中。
所以当PHP尝试执行在/代码它不会看到他期望的文件,因此没有发现错误。
修理它
将Dockerfile
和Dockerfile
docker-compose.yml
到代码目录(您重命名的目录)中。
或者修改Dockerfile
和Dockerfile
docker-compose.yml
使它们指向正确的目录。
通过仔细看看这个快速入门指南: Dockerfile
和撰写文件应该在你开始创build的wordpress
项目文件夹中。 而且在wordpress
文件夹里面应该有一个子文件夹code
。 从这个方式应该工作的wordpress
文件夹中运行docker-compose
。
不幸的是,当你运行curl https://wordpress.org/latest.tar.gz | tar -xvzf -
curl https://wordpress.org/latest.tar.gz | tar -xvzf -
从你的wordpress
项目文件夹中的命令,它会在你的项目目录下创build一个其他的文件夹wordpress
。 你应该重命名一个code
。