我正试图在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