Docker在PHP项目开发环境中的应用出现问题
我在阅读(http://dockone.io/article/481)的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
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 Error response from daemon: Cannot start container b12f88d42876462d642fefefa5ebe9b2e23e62175aca58ba510b18ce2aa259b2: Cannot mkdir: /var/www is not a directory
我把Google翻了个遍,实在不知道怎么做了。求指点。
1 个回复
AlloVince - PHPer
赞同来自: 燃冰
这是部分环境的兼容性问题,ADD 和 WORKDIR指令的目录末尾需要加/,原文已修正,请复制新的文章中的Dockerfile并重新构建运行即可