如何在OSX中将卷安装到docker容器?

时间:2017-03-14 00:30:02

标签: php macos apache docker

我的最终目标是在我的本地计算机上运行不同版本的PHP进行测试。

我相信Docker是实现这一目标的最佳方式。

我已经能够通过本教程获得运行Apache和PHP的容器:https://github.com/tutumcloud/apache-php

但问题是我无法安装卷,因此我可以编辑本地文件并在docker容器上查看它们。

以下是终端在与docker文件相同的目录中运行的步骤:

  1. var COUNTRY_LOGIC = { 1 () { return "France" }, 2 () { return "Germany" }, 3 () { return "whatever"} } function doLogic(countryId) { // do any possible common logic here var countryLogicFn = COUNTRY_LOGIC[countryId] if (typeof countryLogicFn === "function") { return countryLogicFn() } return "do some other thing" } console.log(doLogic(1)) console.log(doLogic(3)) console.log(doLogic(9999))
  2. docker build -t tutum/apache-php .
  3. 我得到的错误是:

      

    docker:来自守护程序的错误响应:oci运行时错误:container_linux.go:247:启动容器进程导致" exec:\" -v \":$ PATH&中找不到可执行文件#34;

    我在OSX上 - El Captain,刚刚安装了最新版本的Docker和Docker工具。

1 个答案:

答案 0 :(得分:0)

docker run命令的基本格式为:

docker run [<options>] <image> [<command>]

在这种情况下,您的图像为tutum/apache-php,并且正在解析运行命令,如下所示:

docker run -d -p 8080:80 tutum/apache-php -v /Users/user-name-here/apache-php/sample:/app/

docker run
    options: -d -p 8080:80
      image: tutum/apache-php
    command: -v /Users/user-name-here/apache-php/sample:/app/

这是您的错误来源。

  

exec:&#34; -v&#34;:$ PATH中找不到可执行文件

由于命令以-v开头,因此它将尝试查找并执行该命令。当然,它不存在,所以你会得到这个错误。

修复只是将-v选项及其参数移动到适当的位置。

docker run -d -p 8080:80 -v /Users/user-name-here/apache-php/sample:/app/ tutum/apache-php