2017-07-16 80 views
2

我在泊塢窗初學者,我創造了這個Dockerfile泊塢窗/ Angular4/Nginx的

和Nginx的配置

server { 

    listen 80; 

    sendfile on; 

    default_type application/octet-stream; 


    gzip on; 
    gzip_http_version 1.1; 
    gzip_disable  "MSIE [1-6]\."; 
    gzip_min_length 256; 
    gzip_vary   on; 
    gzip_proxied  expired no-cache no-store private auth; 
    gzip_types  text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript; 
    gzip_comp_level 9; 


    root /usr/share/nginx/html; 


    location/{ 
    try_files $uri $uri/ /index.html =404; 
    } 

} 

我建立圖像docker build --rm -t appName -f Dockerfile .和運行容器docker run -it -p 8080:80 appName

一切都OK 。但我有一個問題。我無法交互地更改我的代碼。我承諾改變docker commit ...。我幾次重啓我的容器,但沒有發生任何事情。 我希望有任何建議。

回答

1

Docker允許您在構建映像時複製文件,也可以在運行容器時裝載本地目錄/文件。看着你的Dockerfile,它看起來像是在構建時將代碼複製到圖像中,這就是爲什麼在構建映像時文件所處的狀態是運行容器時會得到的內容。

我假設你使用的是Linux/Mac上,下面是安裝搬運工容器內的項目目錄的例子:

$ docker run -v "$PWD/dist:/usr/share/nginx/html" -it -p 8080:80 appName 

我們主機操作系統上的文件進行任何更改將在泊塢窗容器反映。

注意:您的docker文件很好,但您可以通過閱讀互聯網上的文章進行改進。

+0

謝謝vedarthk –