首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >docker:在$PATH中找不到可执行文件

docker:在$PATH中找不到可执行文件
EN

Stack Overflow用户
提问于 2014-11-27 05:03:44
回答 7查看 443.2K关注 0票数 282

我有一个安装grunt的docker镜像,但当我尝试运行它时,我得到一个错误:

代码语言:javascript
复制
Error response from daemon: Cannot start container foo_1: \
    exec: "grunt serve": executable file not found in $PATH

如果我在交互模式下运行bash,grunt是可用的。

我做错了什么?

这是我的Dockerfile:

代码语言:javascript
复制
# 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"]
EN

回答 7

Stack Overflow用户

发布于 2016-04-12 15:39:08

我发现了同样的问题。我做了以下工作:

代码语言:javascript
复制
docker run -ti devops -v /tmp:/tmp /bin/bash

当我将其更改为

代码语言:javascript
复制
docker run -ti -v /tmp:/tmp devops /bin/bash

它工作得很好。

票数 28
EN

Stack Overflow用户

发布于 2017-09-24 09:46:33

出现这样的错误有几种可能的原因。

在我的例子中,这是由于可执行文件(来自Ghost blog Dockerfiledocker-entrypoint.sh)在我下载之后缺少可执行文件模式。

解决方案:chmod +x docker-entrypoint.sh

票数 16
EN

Stack Overflow用户

发布于 2018-10-31 03:38:30

由于某种原因,除非我添加了"bash“澄清符,否则我会得到这个错误。甚至在我的入口点文件的顶部添加"#!/bin/bash“也没有帮助。

代码语言:javascript
复制
ENTRYPOINT [ "bash", "entrypoint.sh" ]
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27158840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档