Git repo vytvořit URL s Docker compose

0

Otázka

Snažím se používat git repo URL v mém docker-compose.yml soubor, jak je popsáno zde. Služby vypadá takto:

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

Dostanu následující chybu:

$ 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

ALE, když jsem zkopírujte přesnou adresu URL z mého docker-compose.yml soubor, mohu jej použít s Docker sestavení úspěšně. Mohu vidět všechny kroky Dockerfile byl popraven.

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

Tam je develop větev, [MY_GITHUB_OAUTH_TOKEN] je můj skutečný GitHub token, a není platný Dockerfile (s velkým D) v repo-root. Proč by tuto práci s docker build ale ne docker-compose? Nemůže to být problém s token, protože pracuje s docker build.

Jestli na tom záleží, jsem na M1 Mac s Docker pro Mac nainstalovány. docker-compose je v pořádku s jinými službami.

docker docker-compose dockerfile git
2021-11-23 21:23:34
1

Nejlepší odpověď

0

Zkuste# - odstranění dvojité uvozovky

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

nebo to s nebo bez uvozovek

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

nebo to s nebo bez uvozovek

  app:
    build:
      context: https://[MY_GITHUB_OAUTH_TOKEN]@github.com/org/repo.git#develop
      dockerfile: Dockerfile
2021-11-28 04:50:47

Díky za odpověď. Stejná chyba jako v příspěvku všechny 3 bohužel.
Jacob Stein

Jak se o následující: 1) nainstalujte ssh na vašem kontejneru jako součást přístavní dělník stavět, 2) nastavení ssh permissions mezi počítači Mac a git repo, 3) jako součást svého docker compose nakonfigurovat pro montáž adresáři, kde máte ssh id_rsa klíč je umístěn jako objem s kontejnery ssh dir, 4) použít '[email protected]/org/repo.git#develop` jako build config. Tímto způsobem můžeme seee pokud to je problém s docker compose / mac / git konfigurace, nebo zda to souvisí s oauth token použití s docker compose
djmonki

Bude dělat. Uvedu také, když jsem jen použít git clone https://[MY_GITHUB_OAUTH_TOKEN]@github.com/org/repo.git to funguje dobře, ale mám SSH key setup s mým Mac. Pokud jsem změnit známku na něco, co jsem získat auth chyba (a to i s SSH klíč, GitHub preferuje za předpokladu, token). Stejná věc se stane, když se pokusím neplatný token s docker build, takže si myslím, že to znamená, že klíč musí být v pořádku.
Jacob Stein

Snažil dávat přístup k ~/.ssh jako objem, - "~/.ssh:/root/ssh:ro" a docker build [email protected]:org/repo.git na mém lokálním počítači, a jak mi tohle: failed to solve with frontend dockerfile.v0: failed to read dockerfile: failed to load cache key: rpc error: code = Unimplemented desc = unknown service moby.sshforward.v1.SSH. Můžu git clone [email protected]:org/repo.git úspěšně
Jacob Stein

Mám nápad, pomocí Docker Compose v2, který přichází s Docker Ploše, zajímalo by mě, je nová verze, je otázka. Zkuste docker-compose disable-v2 z cli, to bude nutit to používat v1. Uvidíme, jestli to funguje. Můžete také zakázat pomocí Docker Plochu. Vyberte nastavení=>Obecné a zrušte zaškrtnutí Použití Docker Compose V2'
djmonki

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................