在Docker中覆盖nginx的html目录来编写configuration

我刚刚开始与docker工作,到目前为止我非常热心! 目前,我正在尝试构build一个非常基础且可扩展的文件,它只是提供基本的静态网站。 我想这应该不是那么难,但我有以下问题:

下面docker-compose.yml文件仍然显示默认的nginx index.html文件,我预计这将被我的项目文件夹./code覆盖。 我可以覆盖/usr/share/nginx/html所有文件而不添加单独的Dockerfile吗? 我试图尽可能保持这种configuration。

 version: '2' services: web: image: nginx:alpine ports: - "8080:80" volumes: - ./code:/usr/share/nginx/html // Whenever needed php/python/dababase services can be added here 

所以我通过在我的卷命令上添加:z标签来解决问题。 所以我的代码中的最后一行变成:

- ./code:/usr/share/nginx/html:z

根据docker文档的标签:z和:Z更改容器上下文中的标签。 这些后缀告诉Docker重新标记共享卷上的文件对象。 :z选项告诉Docker两个容器共享卷内容。 因此,Docker使用共享内容标签来标记内容。 共享卷标允许所有容器读取/写入内容。 The :Z选项告诉Docker使用私有的非共享标签来标记内容。 只有当前容器可以使用私人卷。