2016-08-19 28 views
2

我想在Docker容器中部署我的Angular2/ts應用。我發現以下教程非常有效: Link。所以我的docker-compose.yml現在是:在Docker容器中部署Angular2會干擾路由

version: '2' 

services: 
    httpd: 
    image: httpd:latest 
    volumes: 
     - ./:/usr/local/apache2/htdocs/ 
     - ./node_modules:/usr/local/apache2/htdocs/node_modules 
    ports: 
     - "80:80" 
    npm: 
    image: treyjones/npm:latest 
    volumes: 
     - ./:/npm 
    tsc: 
    image: treyjones/tsc:latest 
    volumes: 
     - ./:/tsc 

但我有問題,路由不能正常工作。

我可以通過

http://localhost:80/

達到我的應用程序,它重定向我

http://localhost:80/data

所以這一點一切都很正常。但我我刷新我的網頁,或嘗試通過到達它

http://localhost:80/data

我得到一個錯誤:

"GET /data HTTP/1.1" 404 205

以前我用過的一個碼頭工人容器我已經有這個問題,並利用它解決了活服務器,如 Link中所述。這意味着我添加了腳本:

"serve": "concurrently \"live-server --port=5556 --entry-file=index.html \" \"gulp\" \"npm run tsc:w\" "

在我的package.json中。

但我不知道我該怎麼活服務器集成到我的搬運工配置或如何操作httpd的,這樣我可以像選擇

--entry-file=index.html

直播服務器的

的選項。

回答

0
  1. 您必須配置httpd,如此處所述https://httpd.apache.org/docs/2.4/rewrite/remapping.html。這意味着根據httpd:latest創建您自己的碼頭圖像,以添加路線的重新映射。
  2. 停止使用httpd並使用lite-server以您想要的方式提供您想要的文件。再次,創建你自己的碼頭圖像。
+0

好吧,我希望已經有它提供的功能爲精簡版服務器碼頭工人形象 – aschi