2017-07-16 59 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 –