【问题标题】:Docker container from Angular4 app : "-p" : executable file not found in $PATH来自 Angular4 应用程序的 Docker 容器:“-p”:在 $PATH 中找不到可执行文件
【发布时间】:2017-10-19 16:07:23
【问题描述】:

我想为我的 Angular 4 应用程序创建并运行一个 Docker 容器。

我已经创建了图像:

docker build -t front:Angular4 -f src/main/docker/Dockerfile .

我尝试使用以下方法创建并运行我的图像的容器实例:

docker run --name frontcontainer -it front:Angular4 -p 4200:4300 -v /usr/share/nginx/logs:/usr/share/nginx/logs -P

这似乎创建了容器,但 没有运行它。它抛出了这个错误:

来自守护程序的错误响应:无法启动容器 40613e12e254a433e2b5f774ffcab67be9c3027cef761141f63ec8fb03bfc108:[8] 系统错误:exec:“-p”:$PATH 中找不到可执行文件

建议?

【问题讨论】:

  • 你解决了吗?

标签: angular docker dockerfile docker-machine


【解决方案1】:

试试这样:

第 1 步:

您需要在项目根目录中创建 docker 文件。

- myApp/
    - Dockerfile

在 Docker 文件中添加以下代码

FROM nginx:alpine
COPY dist /usr/share/nginx/html

第二步:

在生产模式下构建您的项目

第 3 步:

docker login

docker build -t <your registry or image location> .

docker run --name <your project name > -d -p 4200:81 <your registry or image location>

docker push <your registry or image location>

【讨论】:

    【解决方案2】:

    我相信,错误消息是告诉您需要修复命令的语法。

    语法 (docker run --help) 显示语法应该类似于:

    docker run [OPTIONS] IMAGE [COMMAND]

    因此,类似下面的内容可能更接近您正在寻找的内容:

    docker run 
      -itP \
      --name frontcontainer \
      -p 4200:4300 \
      -v /usr/share/nginx/logs:/usr/share/nginx/logs \
      front:Angular4
    

    无关,但您的第一个命令不是构建映像。这也是一个格式错误的docker run 命令,可能还会出现错误。

    【讨论】:

    • 我们的 Markdown 引擎不是 GitHub 风格的。三引号在这里并不特别;对多行代码块使用四空格缩进。
    猜你喜欢
    • 2019-01-16
    • 2015-01-25
    • 2021-11-23
    • 2017-09-25
    • 2016-04-19
    • 2018-05-23
    • 1970-01-01
    • 2021-09-16
    • 1970-01-01
    相关资源
    最近更新 更多