簡體   English   中英

如何運行從 GitHub 包中提取的 Docker Compose 鏡像

[英]How to run a Docker Compose image pulled from GitHub Packages

我已經在 GitHub Packages 上推送了一個 Docker 鏡像,現在我想拉它並使用它。 為了在本地運行映像,我曾經轉到相關文件夾並使用命令docker-compose up運行它。 但是現在,通過從 GitHub 包中提取,我只獲得了沒有任何文件夾的 Docker 映像,我不知道如何運行它。

通過檢查圖像,它包含與原始文件夾相關的所有文件,但是,當我嘗試運行docker-compose up ghcr.io/giuliomat/bdt-project命令時,我收到一條錯誤消息,指出沒有 docker-compose。 yml 在目錄中。 如果我只使用命令docker run ghcr.io/giuliomat/bdt-projectdocker run ghcr.io/giuliomat/bdt-project -compose.yml 文件中指定的兩個服務之一。 如何正確運行 Docker Compose 鏡像? 提前致謝!

更新:我試着更好地解釋自己。 在圖像中有一個用於構建 Web 服務的 Dockerfile(現在我已在問題中上傳)。 我在本地開發了映像,並且使用docker-compose up運行它沒有問題,但是現在我想看看當用戶從我的 GitHub 包中提取它時必須執行哪些操作才能運行它,這是我的問題. 拉取的映像應該包含運行所需的所有元素,但我不知道使用什么命令來告訴 Docker 運行 docker-compose.yml 文件中指定的兩個服務,因為當用戶從 GitHub 包中提取時,它只獲取圖像並且沒有運行docker-compose up文件夾。

Dockerfile:

在此處輸入圖片說明

docker-compose.yml:

在此處輸入圖片說明

拉取的 docker 鏡像的內容:

在此處輸入圖片說明

更新:

泊塢窗圖像庫存儲陽明文件,所以要么你提供一個README.md在圖像注冊表中的用戶(與YML冗長復制粘貼有)和/或還提供鏈接到版本控制儲存庫,其余文件駐留,因此用戶可以克隆和使用docker-compose up


docker-compose up [options] [--scale SERVICE=NUM...] [SERVICE...]意思是“ (if specified, otherwise run all) in docker-compose.yml` 中找到 [service...] (if specified, otherwise run all) in當前工作目錄並運行它。

因此,如果您使用docker-compose.yml文件夾,它將不會選擇撰寫文件,因此將無法工作。

同樣對於使用的圖像,您需要指定服務的image屬性而不是build因為build在本地使用Dockerfile並嘗試構建圖像而不是從 GitHub Docker 鏡像注冊表中提取它:

web:
  image: "ghcr.io/giuliomat/bdt-project:latest"

這與您為redis服務提供的方式相同。

還要確保您可以首先在本地拉取圖像(否則在撰寫命令之前需要docker login ):

docker pull ghcr.io/giuliomat/bdt-project

暫無
暫無

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

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