Git repo build URL with Docker compose



我正试图在docker-compose.yml文件中使用一个git-reo 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与其他服务配合良好。

使用Docker组合文件从git存储库URL构建Docker镜像

docker compose.yml

版本:"3.9"服务:ordersvc:内部版本:上下文:https://github.com/Omkeshs/e-com.git#git回购链接dockerfile:/order/Dockerfile#回购中的Dockerfile路径端口:-8080:8080productsvc:内部版本:上下文:https://github.com/Omkeshs/e-com.gitdockerfile:/产品/Dockerfile端口:-8000:8000
  • 在我的案例中,我在同一个git-reo中创建了基于微服务的架构(订单产品服务(。两个docker镜像都是从同一个git repo创建的

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

尝试#-删除双引号

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

或者这个有或没有双引号

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

或者这个有或没有双引号

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

最新更新