簡體   English   中英

是否可以在 Docker-compose 中為構建上下文指定絕對路徑?

[英]Is it possible to specify absolute path in Docker-compose for build context?

這是場景:

  1. SQL SERVER 相關文件位於:C:\\Temp\\docker
  2. .NET API 相關文件位於:C:\\Users\\Samurai\\source\\repos\\ApiForDocker\\ApiForDocker

正如我從這個官方示例 docker-compose 文件中了解到的:

version: "3"
services:

  web:
    build: .  // relative path goes over here
    links:
      - "db:database"
  db:
    image: postgres

現在我可以將我的 docker-compose 文件保存在任一文件夾中。 1) 或 2) 但我如何為其他人提供正確的路徑而不必移動文件? 我現在不想移動文件的原因是因為我擔心它可能會導致在沒有緩存的情況下重建容器。 雖然現在這對我來說可能不是什么大問題,但我只是在努力學習。

編輯:

version: "3"
services:
    coreapi:
        build:
            context: .
            dockerfile: Dockerfile
        ports:
            - "5000:5000"
    sqlserver:
        build:
            context: C:\Temp\docker
            environment: 
                ACCEPT_EULA="Y"
                SA_PASSWORD="Pwd12345!"
        ports:
            - "11433:1433"

錯誤

ERROR: The Compose file '.\docker-compose.yml' is invalid because:
services.sqlserver.build contains unsupported option: 'environment'

您不能引用 docker 構建上下文之外的文件。 因此,您要么必須將構建上下文設置為包含您想要的所有內容的第一個公共目錄,要么將要執行的文件復制到目錄下的圖像中並在那里構建圖像。

只要文件內容相同,docker 就可以使用構建緩存。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM