来自Angular4 app的Docker容器:" -p" :$ PATH中找不到可执行文件

时间:2017-10-19 16:07:23

标签: angular docker dockerfile docker-machine

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

我创建了图片:

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

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

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中找不到可执行文件

建议?

2 个答案:

答案 0 :(得分:2)

试试这样:

第1步:

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

- myApp/
    - Dockerfile

在Docker文件中添加以下代码

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

第2步:

以生产模式构建项目

第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>

答案 1 :(得分:1)

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

语法(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命令,可能也会出现错误。