我有一个docker映像,它安装了grunt
,但是当我试图运行它时,我得到了一个错误:
Error response from daemon: Cannot start container foo_1: \
exec: "grunt serve": executable file not found in $PATH
如果我在交互模式下运行bash,则grunt
可用。
我做错了什么?
这是我的Dockerfile:
# https://registry.hub.docker.com/u/dockerfile/nodejs/ (builds on ubuntu:14.04)
FROM dockerfile/nodejs
MAINTAINER My Name, me@email.com
ENV HOME /home/web
WORKDIR /home/web/site
RUN useradd web -d /home/web -s /bin/bash -m
RUN npm install -g grunt-cli
RUN npm install -g bower
RUN chown -R web:web /home/web
USER web
RUN git clone https://github.com/repo/site /home/web/site
RUN npm install
RUN bower install --config.interactive=false --allow-root
ENV NODE_ENV development
# Port 9000 for server
# Port 35729 for livereload
EXPOSE 9000 35729
CMD ["grunt"]
我发现了同样的问题。我做了以下几件事:
docker run -ti devops -v /tmp:/tmp /bin/bash
当我把它改成
docker run -ti -v /tmp:/tmp devops /bin/bash
它很好用。
当您对命令使用exec格式时(例如,CMD[“grunt”]
,一个带双引号的JSON数组),它将在没有外壳的情况下执行。这意味着大多数环境变量将不存在。
如果将命令指定为常规字符串(例如CMD grunt
),则CMD
之后的字符串将使用/bin/sh-c
执行。
有关这方面的更多信息,请参阅Dockerfile参考的CMD部分。
这是我在谷歌上粘贴错误消息时的第一个结果,这是因为我的参数出现了问题。
容器名称必须位于所有参数之后。
坏的:
docker run <container_name> -v $(pwd):/src -it
好的:
docker run -v $(pwd):/src -it <container_name>
我已经检查了垃圾箱,里面没有ping
我正在尝试为elasticsearch 1.7运行docker容器。下面是我的Dockerfile: Docker build运行良好。但是docker run命令给了我这个错误:来自守护进程的错误响应:oci运行时错误:container\u linux。go:265:启动容器进程导致“exec:\“elasticsearch\”:在$PATH中找不到可执行文件” 我使用的Mac和Docker版
我有一个运行在Docker容器中的uwsgi服务,我想用它来服务django应用程序。当我在本地运行uwsgi服务时,一切正常,但是从docker容器中我得到消息和,django应用程序显示内部服务器错误。这是我的uwsgi.ini文件。在docker容器中,我使用类似于
问题内容: 我有一个安装的docker映像,但是当我尝试运行它时,出现错误: 如果我以交互模式运行bash,则可用。 我究竟做错了什么? 这是我的Dockerfile: 问题答案: 当您将exec格式用于命令(例如,带双引号的JSON数组)时,将在 没有 外壳的 情况下 执行该命令。这意味着大多数环境变量将不存在。 如果您将命令指定为常规字符串(例如),则之后的字符串将使用来执行。 有关更多信息,
我完全按照这个例子,[http://kubernetes.io/docs/hellonode/,] 在我运行[kubectl run hello-node--image=gcr.io/project_id/hello-node:v1--port=8080 deployment“hello-node”created]之后。pod运行不正常,我得到了CrashLoopBackOff状态,我没有部署执行
我在学docker。我尝试在docker,com上运行一个示例dockerfile。但我有一个问题是“来自守护进程的错误响应:OCI运行时创建失败:container\u linux.go:345:启动容器进程导致”exec:\“flask\”:在$PATH中找不到可执行文件“:未知”。 非常感谢。