docker-compose.vs.release.yml VS 2017上的卷绑定

这是.net核心Web应用程序项目的docker文件。 我试图理解这些线意味着什么。

  • 〜/ clrdbg:/ clrdbg:ro是什么意思。
  • 当我创build文件时,它们也存储在我的项目文件夹的根目录下。 他们不是假设存放在容器卷中。
  • 如何正确映射卷并删除这些卷的内容。

    version: '2' services: is.mvcclient: build: args: source: ${DOCKER_BUILD_SOURCE} volumes: - ~/clrdbg:/clrdbg:ro entrypoint: tail -f /dev/null labels: - "com.microsoft.visualstudio.targetope ratingsystem=linux" 

  • 〜/ clrdbg:/ clrdbg:ro基本上意味着本地文件夹〜/ clrdbg将在/ clrdbg下的容器中可用,并且本地更改也将在容器中反映出来,而不需要重新生成映像。 RO意味着它是只读的,因此容器不能更改该文件夹中的文件。
  • 你的卷被挂载到一个主机文件夹(在这种情况下,我假设你的项目为root)。 就像前面提到的那样,在这种情况下,本地文件系统的变化会反映在容器中。
  • 首先你必须把你的项目放到容器中,所以我猜你可以在构build图像时将它复制/添加到容器中。 之后,你必须做一些事情:

     services: is.mvcclient: volumes: - data-volume:/clrdbg volumes: data-volume: 

    通过这样做,容器中文件的所有更改只会反映在这些文件中,而不是本地文件中。 当然,这是双向的 – 对本地文件的更改不会反映在容器文件中。