Docker :启动容器进程导致“;执行官:\";sudo\";:找不到可执行文件

Docker :启动容器进程导致“;执行官:\";sudo\";:找不到可执行文件,docker,docker-compose,Docker,Docker Compose,错误:无法启动服务cpanel\u客户端:头字段值无效“oci运行时错误:容器\u linux.go:247:启动容器进程导致”exec:\“sudo\”:未找到可执行文件 这是我的docker文件 FROM node:8.1.2-alpine WORKDIR /control-panel COPY package.json /control-panel/package.json RUN npm install auth0-lock mapbox-gl mapbox-gl-geocoder t

错误:无法启动服务cpanel\u客户端:头字段值无效“oci运行时错误:容器\u linux.go:247:启动容器进程导致”exec:\“sudo\”:未找到可执行文件

这是我的docker文件

FROM node:8.1.2-alpine

WORKDIR /control-panel
COPY package.json /control-panel/package.json
RUN npm install auth0-lock mapbox-gl mapbox-gl-geocoder tinymce angular2-jwt aws-sdk @angular/cli hammerjs jquery moment moment-timezone bootstrap@3 jquery-ui-dist --save
RUN mv /control-panel/node_modules /node_modules
COPY . /control-panel
EXPOSE 4200
EXPOSE 49153
这是docker compose.yml

cpanel_client:
    build: .
    ports:
        - "4200:4200"
        - "49153:49153"
    volumes:
        - .:/control-panel
    command: npm start
my package.json文件

{
  "name": "cpanelcli",
  "version": "0.0.0",
  "license": "MIT",
  "angular-cli": {},
  "scripts": {
    "ng": "ng",
    "start": "ng serve --host 0.0.0.0",
    "lint": "tslint \"src/**/*.ts\"",
    "test": "ng test",
    "pree2e": "webdriver-manager update --standalone false --gecko false",
    "e2e": "protractor"
  },
  "private": true,
  "dependencies": {
    "@angular/common": "4.0.0",
    "@angular/compiler": "4.0.0",
    "@angular/core": "4.0.0",
    "@angular/forms": "4.0.0",
    "@angular/http": "4.0.0",
    "@angular/material": "^2.0.0-beta.2",
    "@angular/platform-browser": "4.0.0",
    "@angular/platform-browser-dynamic": "4.0.0",
    "@angular/router": "^3.3.1",
    "@types/jquery": "^2.0.46",
    "angular2-jwt": "^0.1.28",
    "aws-sdk": "^2.28.0",
    "bootstrap": "^3.3.7",
    "core-js": "^2.4.1",
    "hammerjs": "^2.0.8",
    "jquery": "^3.2.1",
    "jquery-ui-dist": "^1.12.1",
    "mapbox-gl": "^0.34.0",
    "mapbox-gl-geocoder": "^2.0.1",
    "mapbox.js": "^3.0.1",
    "ng2-datepicker": "^1.8.0",
    "rxjs": "^5.0.1",
    "tinymce": "^4.5.5",
    "ts-helpers": "^1.1.1",
    "zone.js": "^0.7.2"
  },
  "devDependencies": {
    "@angular/compiler-cli": "^2.3.1",
    "@types/jasmine": "2.5.38",
    "@types/node": "^6.0.42",
    "angular-cli": "1.0.0-beta.24",
    "codelyzer": "~2.0.0-beta.1",
    "jasmine-core": "2.5.2",
    "jasmine-spec-reporter": "2.5.0",
    "karma": "1.2.0",
    "karma-chrome-launcher": "^2.0.0",
    "karma-cli": "^1.0.1",
    "karma-jasmine": "^1.0.2",
    "karma-remap-istanbul": "^0.2.1",
    "protractor": "~4.0.13",
    "ts-node": "1.2.1",
    "tslint": "^4.0.2",
    "typescript": "~2.0.3"
  }
}
建造成功了。我在运行
docker compose run–rm cpanel\u client ng init–skip npm–name CliDemo
时出现此错误。
有人能告诉我哪里错了吗?

您的图像上似乎没有安装
sudo
。请注意错误消息:

"exec: \"sudo\": executable file not found

有些东西正试图sudo(“超级用户做”)一件事,但却做不到。请尝试通过软件包管理器安装
sudo
以平息该步骤,或者尝试将该步骤配置为不需要超级用户权限。

您的映像上似乎没有安装
sudo
。请注意错误消息:

"exec: \"sudo\": executable file not found

有些东西正试图sudo(“超级用户做”)一件事,但却做不到。请尝试通过软件包管理器安装
sudo
以平息该步骤,或尝试将该步骤配置为不需要超级用户权限。

默认情况下,
节点\ u模块/.bin
文件夹不在
$PATH
中。您只需直接调用路径:

command: /control-panel/node_modules/.bin/ng serve --host 0.0.0.0

默认情况下,
节点\u modules/.bin
文件夹不在
$PATH
中。您只需直接调用路径:

command: /control-panel/node_modules/.bin/ng serve --host 0.0.0.0


这意味着在你的
npm开始中有一些东西被写入了
也发布了失败集装箱的
docker日志
你可以发布你的包吗。json?我发布了我的包。json文件是你的服务名称“cpanel\u client”还是“cpanel”?compose.yml显示“cpanel_client”,run命令显示“client”我更新了我的帖子。这意味着你的
npm开始
还有失败容器的post
docker日志
你可以发布你的包吗?json?我发布了我的包。json文件是你的服务名“cpanel_client”还是“cpanel”?你的compose.yml显示“cpanel_client”,你的run命令显示“client”。我更新了帖子。我尝试在没有sudo的情况下运行。错误是一样的。“exec:\\\\\”ng\\\“:在$PATH\中找不到可执行文件”\n“嗯,这似乎也很简单。您可以在试图运行的上下文中检查$PATH,也可以将对
ng
的引用从依赖$PATH解析更改为显式路径。我没有使用过该软件包,但它可能类似于
/node\u modules/angular cli/bin/ng
-您应该在图像上仔细检查一下。这行
“start”:“ng serve--host 0.0.0.0”,在您的软件包中,
。json依赖于shell来知道
ng
在哪里,但它似乎不知道这一点。将其更改为类似于
“start”:“/node\u modules/angular cli/bin/ng serve--host 0.0.0”,
(请再次检查实际安装时的路径)将使其明确知道在哪里可以找到ng。我已经发布了我的docker文件和docker compose。你能运行并纠正它吗?很明显,我不能给你多少帮助来帮助你克服这个问题。祝你好运,我希望有一天你能找到一些智力上的好奇心。我试着不用sudo跑步。错误是一样的。“exec:\\\\\”ng\\\“:在$PATH\中找不到可执行文件”\n“嗯,这似乎也很简单。您可以在试图运行的上下文中检查$PATH,也可以将对
ng
的引用从依赖$PATH解析更改为显式路径。我没有使用过该软件包,但它可能类似于
/node\u modules/angular cli/bin/ng
-您应该在图像上仔细检查一下。这行
“start”:“ng serve--host 0.0.0.0”,在您的软件包中,
。json依赖于shell来知道
ng
在哪里,但它似乎不知道这一点。将其更改为类似于
“start”:“/node\u modules/angular cli/bin/ng serve--host 0.0.0”,
(请再次检查实际安装时的路径)将使其明确知道在哪里可以找到ng。我已经发布了我的docker文件和docker compose。你能运行并纠正它吗?很明显,我不能给你多少帮助来帮助你克服这个问题。祝你好运,我希望有一天你能找到一些智力上的好奇心。我不明白。对不起。您试图解决的问题将涉及Linux和环境的一些基本知识。我改变了路径,但仍然不起作用。dockerfile和docker compose已经发布了。我已经有一个正在运行的容器,其中包含我发布的脚本。现在的问题是当我在另一台机器上运行时。我不明白。对不起。您试图解决的问题将涉及Linux和环境的一些基本知识。我改变了路径,但仍然不起作用。dockerfile和docker compose已经发布了。我已经有一个正在运行的容器,其中包含我发布的脚本。现在的问题是当我在另一台机器上运行时。