Após quase um ano na versão beta, o Docker Compose v2 está geralmente disponível como uma versão estável da ferramenta de gerenciamento de contêiner. A maioria dos usuários deve ser capaz de fazer a troca hoje. Neste guia, mostraremos como preparar e aplicar sua atualização.
índice
- O que há de novo na v2?
- Incompatibilidades com v1
- Atualização no Linux
- Atualize com o Docker Desktop para Windows e Mac
- Que segue?
- Resumo
O que há de novo na v2?
O Docker Compose v2 traz a funcionalidade familiar do Compose para o padrão docker
CLI. Em vez de interagir com um binário docker-compose
separado, agora você usa o docker compose
. O Compose é integrado ao Docker.
Você pode substituir comandos como este:
$ docker-compose up -d
Com a seguinte invocação:
$ docker compor -d
O Compose v2 também vem com alguns novos recursos que melhoram a experiência do usuário:
- Você pode usar o
docker compose cp
para copiar arquivos entre seu host e contêineres. - Os provedores de nuvem são destinos válidos, permitindo que você faça a
docker compose up
para implantar contêineres no Amazon ECS ou no Microsoft ACI. - Os perfis de serviço são totalmente suportados, facilitando a inclusão seletiva de contêineres em uma pilha.
- Gerenciamento de projetos mais simplificado: execute comandos sem estar no mesmo diretório que o arquivo
docker-compose.yml
comdocker compose --project-name my-project stop
. Há também um novo comandodocker compose ls
que lista todos os seus projetos de composição. - O Docker Compose agora é escrito em Go, como o próprio Docker, em vez de ser um utilitário Python separado. Isso permite que o Compose reutilize o código da CLI principal do Docker, criando um comportamento mais consistente.
Incompatibilidades com v1
O Compose v2 é compatível com v1 em quase todos os casos de uso. Você não precisa modificar seus arquivos docker-compose.yml
ou aprender novos comandos, exceto para alterar docker-compose
para docker compose
. Se você tiver suas próprias ferramentas em torno do comando docker-compose
, poderá alterá-lo para chamar o docker compose
.
Embora a maioria das migrações deva ser direta, o Compose v2 apresenta algumas mudanças importantes que podem afetar casos de uso específicos:
- Os contêineres agora são criados com hífens em seus nomes em vez de sublinhados. Isso significa que um serviço chamado
db
dentro do projeto doapp
agora criará um contêiner chamadoapp-db
em vez deapp_db
. Isso pode interromper scripts que esperam que o formato de nome de contêiner antigo seja usado. Atualmente, a alteração pode ser desabilitada incluindo o sinalizador--compatibility
com comandosdocker compose
. -
docker compose build
compila com o BuildKit por padrão. O BuildKit é o sistema moderno de criação de imagens do Docker que é capaz de compilações muito mais rápidas. O BuildKit é o sistema de compilação recomendado, mas possui algumas incompatibilidades restantes com o mecanismo de compilação herdado que pode causar problemas em algumas circunstâncias. Você pode desabilitar o BuildKit definindo a variável de ambienteDOCKER_BUILDKIT=0
antes de executar os comandos dedocker compose
- Alguns prompts de comando obsoletos foram removidos.
docker compose rm --all
não é suportado e o comandodocker compose scale
é omitido em favor dodocker compose up --scale
. Você precisará modificar quaisquer scripts que dependam das versões dedocker-compose
desses comandos.
Atualização no Linux
Embora o Compose agora se integre à CLI do Docker, ele não é habilitado por padrão no Docker Engine. Você pode instalar o Compose v2 adicionando-o como um plug-in da CLI do Docker. Você deve ter a versão do Docker v20.10.13 ou posterior.
Atualize seus repositórios de pacotes e instale docker-compose-plugin
:
$ sudo apt update $ sudo apt install docker-compose-plugin
Verifique se a instalação foi bem-sucedida recuperando a versão do Docker Compose:
$ docker compose versão Docker Compose versão v2.3.3
Agora você pode remover o Docker Compose v1, a menos que queira mantê-lo para compatibilidade com scripts herdados. Tanto docker-compose
(v1) quanto o docker compose
(v2) podem coexistir se você precisar deles. Se você estiver removendo a v1, ela geralmente é encontrada como um único binário em /usr/local/bin/docker-compose
:
$ sudo rm /usr/local/bin/docker-compose
Agora você pode configurar um alias de shell para redirecionar docker-compose
para docker compose
. Isso permitiria que você continuasse usando scripts que esperam o Compose v1, usando sua nova instalação v2.
$ echo 'alias docker-compose="docker compose"' >> ~/.bashrc $ source ~/.bashrc $ docker-compose versão Docker Compose versão v2.3.3
Agora você está pronto para começar a gerenciar seus contêineres com o Compose v2.
Atualize com o Docker Desktop para Windows e Mac
O Compose v2 está incluído nas versões 3.4 e posteriores do Docker Desktop. v2 tornou-se a versão padrão do Compose na v4.4.2; se você já fez a atualização, pode usar o docker compose
This Day.
v4.4.2 também alias docker-compose
para docker compose
automaticamente. O Compose v1 é inacessível por padrão. Você pode desabilitar esse alias executando o comando docker-compose disable-v2
ou desmarcando a caixa de seleção "Usar Docker Compose v2" na página de configuração do Docker Desktop. O comando docker-compose
reverte para o uso do Compose v1.
Que segue?
O Compose v1 continua a oferecer suporte a problemas de segurança de "alta gravidade" e correções de bugs pelos próximos seis meses. Este suporte terminará em outubro de 2022. v1 será considerado fim de vida, portanto seu uso deve ser evitado. Neste ponto, o Docker Desktop será atualizado para dar suporte apenas à v2. você terá que usar o docker compose
, pois o alias do docker-compose
será removido. Você precisará permanecer em uma versão anterior se ainda precisar da v1.
Você pode continuar a usar a v1 indefinidamente instalando-a como um binário autônomo. Você pode encontrá-los lançados para Windows, Mac e Linux na página de lançamentos do GitHub do projeto. Embora esses binários continuem funcionando indefinidamente, a maioria dos projetos deve ter como objetivo migrar para a v2 em um futuro próximo. Isso lhe dará acesso a todas as correções de bugs, atualizações de segurança e novos recursos nas versões modernas do Compose v2.
Resumo
O Docker Compose v2 agora é a versão estável do Docker Compose. Os usuários do Docker Desktop terão sido atualizados automaticamente. As instalações do Linux do Docker Engine são atendidas pelo novo plug-in CLI docker-compose-plugin
plugin.
O suporte para Compose v1 termina em menos de seis meses, portanto, verifique a compatibilidade de seus scripts e adote a v2 nas próximas semanas. Você poderá usar o Compose na CLI do docker
e aproveitar os recursos da v2, como perfis de serviço e domínio docker compose ls
.
- 7 dicas para evitar que sua tecnologia superaqueça
- O que são as definições de recursos personalizados (CRDs) do Kubernetes?
descubra mais conteúdo
Você pode ocultar um amigo de outro amigo no Facebook?
O que é um amplificador integrado?
Google Pixel Watch também tem detecção de queda, mas não até o próximo ano
As melhores xícaras de café aquecidas de 2022
Como automatizar seu iPhone com base na hora, atividade ou localização
"Isso deve ter sido antes do meu tempo"
O que é a versão de composição do Docker?
O arquivo Compose é um arquivo YAML que define serviços, redes e volumes para um aplicativo Docker . Os formatos de arquivo do Compose agora são descritos nestas referências, específicos para cada versão.
Como sei a versão de composição do Docker?
Você pode verificar a versão do Docker que instalou com o seguinte comando em um prompt de terminal:
- versão docker. Não te.
- sudo systemctl start docker.
- sudo systemctl habilita docker.
- sudo usermod -a -G docker <username>
- docker-compose -version.
Como faço para alterar a versão composta?
Alternando Versões
Para mudar para a versão um, execute o comando self-update e passe o sinalizador -1 . Isso mudará o compositor para a versão um e agora você poderá instalar suas dependências.
Como atualizo o Docker Compose para a versão mais recente?
O Docker Compose é outra ferramenta útil do Docker.
No entanto, essa opção não garante que você esteja baixando a versão mais recente.
- Etapa 1: atualizar e atualizar.
- Passo 2: Instale o curl.
- Etapa 3: baixe a versão mais recente do Docker.
- Etapa 4: Altere a permissão do arquivo.
- Etapa 5: verifique a versão do Docker Compose.