Git repo build URL with Docker compose

eyh26e7m  于 2023-06-28  发布在  Git
关注(0)|答案(2)|浏览(111)

我尝试在docker-compose.yml文件中使用git repo URL,如下所述。服务看起来像这样:

app:
    build: "https://[MY_GITHUB_OAUTH_TOKEN]@github.com/org/repo.git#develop"

我得到以下错误:

$ docker-compose up
[+] Running 0/1
 ⠿ app Error                                                                   0.5s
[+] Building 0.0s (1/1) FINISHED                                                    
 => CACHED [internal] load git source https://[MY_GITHUB_OAUTH_TOKEN]  0.0s
failed to solve: rpc error: code = Unknown desc = failed to solve with frontend dockerfile.v0: failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount730635615/https:/[MY_GITHUB_OAUTH_TOKEN]@github.com/org/repo.git#develop/Dockerfile: no such file or directory

但是,当我从docker-compose.yml文件中复制确切的URL时,我可以成功地将其与Docker构建一起使用。我可以看到正在执行的Dockerfile的所有步骤。

$ docker build https://[MY_GITHUB_OAUTH_TOKEN]@github.com/org/repo.git#develop

有一个develop分支,[MY_GITHUB_OAUTH_TOKEN]是我实际的GitHub令牌,在repo根中有一个有效的Dockerfile(大写D)。为什么这适用于docker build,而不适用于docker-compose?这不可能是令牌的问题,因为它适用于docker build
如果重要的话,我在安装了Docker for Mac的M1 Mac上。docker-compose与其他服务配合良好。

gev0vcfq

gev0vcfq1#

尝试#-删除双引号

app:
    build: https://[MY_GITHUB_OAUTH_TOKEN]@github.com/org/repo.git#develop

或带或不带双引号的this

app:
    build:
      context: https://[MY_GITHUB_OAUTH_TOKEN]@github.com/org/repo.git#develop

或带或不带双引号的this

app:
    build:
      context: https://[MY_GITHUB_OAUTH_TOKEN]@github.com/org/repo.git#develop
      dockerfile: Dockerfile
e7arh2l6

e7arh2l62#

    • 使用Docker compose文件从git仓库URL构建Docker镜像**
    • docker-compose. yml**
version: "3.9"
services:
  ordersvc:
    build:
      context: https://github.com/Omkeshs/e-com.git #git repo link
      dockerfile: ./order/Dockerfile #Dockerfile path in repo
    ports:
      - 8080:8080

  productsvc:
    build:
      context: https://github.com/Omkeshs/e-com.git
      dockerfile: ./product/Dockerfile
    ports:
      - 8000:8000
  • 在我的例子中,我已经创建了基于微服务的架构(订单产品服务),在同一个git repo中。两个docker镜像都是从同一个git仓库创建的。

参考-https://github.com/Omkeshs/e-com

相关问题