我正在尝试将我的有角度的应用程序码头化。以下是我的docker文件,但是我无法在端口4200中访问该应用程序。我不知道我的配置有什么问题。这是angular-cli应用程序。你能帮我找到它吗?
FROM node:alpine
WORKDIR /app
COPY ./package.json .
RUN npm install
COPY . .
EXPOSE 80 4200
CMD ["npm", "run", "start"]
docker container run --publish 4200:4200 ngdockerapp
0ab397bc6233 ngdockerapp "npm run start" 37 seconds ago Up 35 seconds 80/tcp, 0.0.0.0:4200->4200/tcp ngdockerapp_ng_1
但是我无法在具有4200端口的主机中访问该应用程序。我可以看到它在容器内部正常启动。
项目链接:
答案 0 :(得分:2)
问题是,您在容器中使用ng serve而不指定主机。 默认情况下,ng服务将只为127.0.0.1服务。您可以使用--host参数进行更改。
有关服务的文档:https://github.com/angular/angular-cli/wiki/serve
我在您的仓库中添加了一个pullrequest进行修复:https://github.com/manojp1988/ngDockerApp/pull/1
答案 1 :(得分:0)
如果运行docker exec -it <container_id> /bin/bash
,则可以访问该容器。检查一下How do I get into a Docker container?