首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将角应用程序作为Docker容器运行

如何将角应用程序作为Docker容器运行
EN

Stack Overflow用户
提问于 2020-08-16 09:55:24
回答 3查看 4.7K关注 0票数 1

我试图运行一个角9应用程序作为一个码头容器。这是我的Dockerfile:

代码语言:javascript
复制
FROM node:14.8.0-stretch-slim as build-env
LABEL desc="docker image of angular 9 app"
WORKDIR /app
COPY ["package.json","package-lock.json","/app/"]
RUN npm install
RUN npm install -g @angular/cli

COPY . /app
#ENTRYPOINT ["ng","--version"]
RUN ng build
CMD ng serve 
#Also tried 1) CMD ng serve --host 0.0.0.0 and 2) ENTRYPOINT ["ng","serve"]

它构建图像时只需要少量的小警告,然后构建容器。

代码语言:javascript
复制
docker run -p 4203:4200 -d <image_id> 

我可以看到Docker容器正在运行(VS container扩展& docker ps命令显示容器正在运行)。但是,当我尝试从浏览器访问该应用程序时,它会显示以下错误

我如何从浏览器访问我的角度应用程序?

请注意:我将通过在上述Dockerfile中添加第二阶段来推进这一步,并将在某些服务器上托管该应用程序,但在此之前,我希望确保该应用程序可以被访问。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-08-16 11:11:06

请将此CMD指令添加到您的dockerfile中。

代码语言:javascript
复制
CMD ng serve --host 0.0.0.0 --port 4200
票数 1
EN

Stack Overflow用户

发布于 2020-11-27 23:20:50

试试这个例子。这和你想做的很相似

Dockerfile (示例):

代码语言:javascript
复制
FROM node:14

RUN npm install -g @angular/cli 

WORKDIR /frontend

COPY package.json .

RUN npm install

COPY . .

EXPOSE 4200

CMD ng serve --host 0.0.0.0 

终端命令

创建图像

代码语言:javascript
复制
docker build -t <image name> .

启动容器(使用命令"serve“和”-host“附加在Dockerfile中创建的"ng”命令):

代码语言:javascript
复制
docker run --rm -p 4200:4200 -it <image name>

此外,您可能希望在容器中添加卷以映射本地文件夹:

代码语言:javascript
复制
docker run --rm -v <absolute path to src file>:/<project path>/src -p 4200:4200 -it <image_name>

如果希望在Dockerfile末尾使用ENTRYPOINT,请使用以下命令:

代码语言:javascript
复制
ENTRYPOINT ["ng"] 

因此,在docker命令中,您必须附加要执行的操作:

代码语言:javascript
复制
docker run --rm -v <absolute path to src file>:/<project path>/src -p 4200:4200 -it <image_name> serve --host 0.0.0.0

或者创建一个组件

代码语言:javascript
复制
docker run --rm -v <absolute path to src file>:/<project path>/src -p 4200:4200 -it <image_name> component <component name>
票数 1
EN

Stack Overflow用户

发布于 2020-08-16 10:42:00

编辑:

您可以在docker文件中尝试0.0.0.0:4200。我就是这么干的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63435463

复制
相关文章

相似问题

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