Docker在PHP项目开发环境中的应用出现问题


我在阅读Docker在PHP项目开发环境中的应用的hello world模块时,照着教程走,我总结了一下。

1. 穿件一个php文件夹,并进入。
mkdir php
cd php

2. 创建index.php文件,加入以下内容。
<?php
echo "PHP in Docker";

touch index.php
vi index.php

3. 创建文本文件并命名为Dockerfile, 加入以下内容。
FROM: 从官方PHP镜像构建
// ADD: 将index.php复制到容器内的/var/www目录下
// EXPOSE: 对外暴露8080端口
// WORKDIR: 设置容器默认工作目录为/var/www
// ENTRYPOIN: 容器运行后默认执行的指令

FROM       php
ADD        index.php /var/www
EXPOSE     8080
WORKDIR    /var/www
ENTRYPOINT ["php", "-S", "0.0.0.0:8080"]

4. 构建这个容器
docker build -t allovince/php-helloworld .

5. 运行这个容器
docker run -d -p 8080:8080 allovince/php-helloworld

6. 获取结果数据
curl localhost:8080

应该输出以下结果:
PHP in Docker

问题

输入完docker build -t allovince/php-helloworld .后,的确是成功了。
但是docker run -d -p 8080:8080 allovince/php-helloworld指令时,输出了以下错误信息:
b12f88d42876462d642fefefa5ebe9b2e23e62175aca58ba510b18ce2aa259b2
FATA[0000] Error response from daemon: Cannot start container b12f88d42876462d642fefefa5ebe9b2e23e62175aca58ba510b18ce2aa259b2: Cannot mkdir: /var/www is not a directory

我把Google翻了个遍,实在不知道怎么做了。求指点。
已邀请:

AlloVince - PHPer

赞同来自: 燃冰


这是部分环境的兼容性问题,ADD 和 WORKDIR指令的目录末尾需要加/,原文已修正,请复制新的文章中的Dockerfile并重新构建运行即可

要回复问题请先登录注册