Este é meu arquivo docker-compose.yml:
version: '3.1'
services:
a:
image: tutum/hello-world
b:
image: tutum/hello-world
secrets:
id: my_password
Se eu correr $ docker-compose-up
, recebo isto:
A versão em "./docker-compose.yml" não é compatível. Você pode estar vendo este erro porque está usando a versão errada do arquivo de composição.
Minha versão docker-compose:
$ docker-compose --version
docker-compose version 1.11.0, build 6de1806
O que há de errado aqui? Minha versão docker-compose não deveria ser compatível com a v3.1 da especificação docker-compose.yml (de acordo com as notas de versão , ela oferece)?
docker-compose
Eric
fonte
fonte
docker-compose
e não édocker compose
docker-compose
masDocker Compose
é a tecnologia. Docs.docker.com/compose"3.6"
. Meu docker é18.03.0-ce, build 0520e24
Respostas:
Você está fazendo tudo certo e deve funcionar. Mas havia um bug no docker-compose 1.11.0 que não reconhecia o formato de arquivo 3.1 como válido. (3.0 funciona).
Já existe uma nova versão do docker-compose (1.11.1) que inclui a correção do bug:
Portanto, eu recomendaria atualizar sua versão do docker-compose se você quiser usar o formato de arquivo 3.1.
No momento, a maneira mais segura de atualizar docker-compose é excluí-lo e reinstalá-lo.
Reinstalar:
Agora não há mais erro no formato do arquivo. (Eu não testei com seu .yml).
fonte
curl
comando não é executado. .. diz permissão negada.curl
comando, tente isto: docs.docker.com/compose/install/#install-composeResolvi o problema atualizando docker-compose.
Seguido as etapas abaixo para atualizar docker-compose no ubuntu16.04
passo 1:
passo 2:
etapa 3:
Passo 4:
fonte
sudo apt install docker-compose
diga-me que já tenho a versão edocker-compose up
diga que não tenho nenhum docker-compose instalado. Por que vocês não estão usando o apt? Eu tenho dois problemas agora.Se a versão do seu arquivo for 3.7 e você receber o seguinte erro:
Aqui está a solução: -
(1)
sudo apt-get remove docker-compose
OUsudo rm /usr/local/bin/docker-compose
(2)
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
(3)
sudo chmod +x /usr/local/bin/docker-compose
(4)
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
Espero que isso resolva o problema.
fonte
Se estiver usando linux / ubuntu , isso pode ser óbvio, mas tome cuidado ao executar como root, por exemplo
Dá
vs
Dá
Além disso, certifique-se de que docker-compose e docker-machine estejam atualizados como @lvthillo declara
fonte
Eu tinha feito isso
docker-compose --version
antes de implementar a solução de lvthillo e ainda estava recebendo versões desatualizadas aparecendo. Acontece que eu precisava esvaziar a lista de hash que meu shell bash estava segurando.hash -r
... espero que seja útil para outra pessoafonte
tente desinstalar a versão antiga e reinstalar.
deve imprimir
fonte
Não podemos dizer a você sem observar o erro específico em primeiro lugar, verifique-o executando este comando
docker build .
Quando você obteve o erro, procure no google no meu caso foi o erro de permissão quando tentei com o sudo funcionou.Espero que ajude você
fonte
No osx 10.12.6 sierra
Etapas para v1.22 ou superior
Tive um problema / incompatibilidade específico em que não queria atualizar completamente o docker. Estou preso atualmente no docker 17.06.0-ce-mac18. Então, eu apenas queria atualizar docker-compose e nada mais.
Meus passos:
which docker-compose
docker-compose --version
=docker-compose version 1.14.0, build c7bdf9e
mv /usr/local/bin/docker-compose /usr/local/bin/docker-compose-bak
curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
docker-compose --version
=docker-compose version 1.22.0, build f46880f
fonte