Repositório Git construir URL com janela de Encaixe compor

0

Pergunta

Estou tentando utilizar um repositório git URL no meu docker-compose.yml arquivo, conforme descrito aqui. O serviço parecido com este:

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

Eu recebo o seguinte erro:

$ 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

MAS, quando eu copiar a URL exata do meu docker-compose.yml arquivo, eu posso usá-lo com a janela de Encaixe compilação com êxito. Eu posso ver todas as etapas do Dockerfile a ser executado.

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

Há um develop ramo, [MY_GITHUB_OAUTH_TOKEN] é o meu GitHub token, e não é válido Dockerfile (com um capital D) na operação de recompra de raiz. Por que será que isso funciona com docker build mas não docker-compose? Ele pode não ser um problema com o símbolo, pois ele trabalha com docker build.

Se isso importa, eu estou em um M1 Mac com Encaixe para Mac instalado. docker-compose é um trabalho muito bem com outros serviços.

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

Melhor resposta

0

Tente# - remoção de aspas duplas

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

ou isso com ou sem aspas

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

ou isso com ou sem aspas

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

Obrigado pela resposta. Mesmo erro no post, com todos os 3, infelizmente.
Jacob Stein

Como sobre o seguinte: 1) instalar o ssh no seu recipiente, como parte da janela de encaixe construir, 2) o programa de configuração do ssh permissões entre o seu Mac e o repositório git, 3), como parte de sua janela de encaixe compor configurar para montar o diretório onde o seu ssh id_rsa chave reside como um volume com os recipientes ssh dir, 4) '[email protected]/org/repo.git#develop" como construir config. Dessa forma, podemos seee se é um problema com a janela de encaixe compor / mac / git de configuração, ou se ele está relacionado com o oauth usar com janela de encaixe compor
djmonki

Vai fazer. Também vou falar, quando eu uso apenas git clone https://[MY_GITHUB_OAUTH_TOKEN]@github.com/org/repo.git que funciona bem, mas eu tenho uma chave SSH o programa de configuração com o meu Mac. Se eu alterar o token para outra coisa que eu obter uma autenticação de erro (mesmo com a chave SSH, GitHub prefere o token fornecido). A mesma coisa acontece se eu tentar um erro de token com docker build, então eu acho que isso significa que a chave deve ser fino.
Jacob Stein

Tentei dar acesso a ~/.ssh como um volume, - "~/.ssh:/root/ssh:ro" e docker build [email protected]:org/repo.git na minha máquina local, e dar-me este: 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. Eu posso git clone [email protected]:org/repo.git com êxito
Jacob Stein

Tenho uma idéia, a sua, usando a janela de Encaixe Compor v2 que vem com o Encaixe do ambiente de Trabalho, o assombro é a nova versão é o problema. Tente docker-compose disable-v2 a partir da cli, ele irá forçá-lo a usar v1. Ver se funciona. Você também pode desativar o através da janela de Encaixe do ambiente de Trabalho. Selecione Preferências=>Geral e desmarque a opção 'Utilizar a janela de Encaixe Compor V2'
djmonki

Em outros idiomas

Esta página está em outros idiomas

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