Docker 来自 Angular4 应用程序的容器:“-p”:在 $PATH 中找不到可执行文件

Docker container from Angular4 app : "-p" : executable file not found in $PATH

我想为我的 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

这似乎是在创建容器,但不是运行正在创建容器。它抛出这个错误:

Error response from daemon: Cannot start container 40613e12e254a433e2b5f774ffcab67be9c3027cef761141f63ec8fb03bfc108: [8] System error: exec: "-p": executable file not found in $PATH

建议 ?

这样试试:

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

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

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