docker: o cliente é mais novo que o servidor

2

Aviso: Sei que existem várias questões relacionadas a esse problema (por exemplo, < Cliente docker mais novo com host Docker mais antigo ” ou “ Resposta de erro do daemon: o cliente é mais recente que o servidor ”). Mas nenhum deles está direcionando a complexidade completa e eu não estou lidando com o boot2docker.

Circunstâncias

Eu tenho uma configuração de um computador cliente (meu laptop) e quatro daemons docker (1 × local, 3 × remoto em servidores diferentes). Quando tento gerenciar um dos daemons do docker remoto, freqüentemente recebo mensagens como:

Error response from daemon: client is newer than server (client API version: X, server API version: Y)

(onde X > Y e geralmente |X-Y| ≤ 0.3 ; por exemplo, X = 1.21, Y = 1.19 )

Na maioria dos casos, a causa é que meu computador cliente tem um sistema bastante atualizado, enquanto os servidores geralmente ficam com versões mais antigas e não devem estar frequentemente indisponíveis para atualizações. Além disso, se eu sempre atualizasse os servidores, precisaria atualizar todos os três servidores juntos e todos os outros que estão usando os servidores, por sua vez, teriam que atualizar seus clientes. (Enquanto o grupo de colaboradores é diferente para cada um dos servidores.)

Pergunta

Existe alguma maneira de configurar meu cliente, que ele pode se comunicar com diferentes versões antigas da API?

(Por que o projeto docker não é capaz de fornecer algum tipo de compatibilidade com versões anteriores, pelo menos, dentro de versões menores?)

    
por white_gecko 09.12.2015 / 11:52

1 resposta

1

De acordo com este comentário do github , os clientes docker podem falar com servidores mais novos, mas os clientes mais novos não podem falar para servidores mais antigos. Assim, você pode atualizar seus servidores de encaixe, mas também deve incentivar seus usuários a atualizar seus clientes, pois definitivamente existem limites para a compatibilidade.

Existe um pedido pull proposto que lhe permitirá especificar a versão da API que o seu cliente utiliza quando fala com o servidor, mas ainda não foi aceito.

    
por 11.12.2015 / 02:21

Tags