Solucionar error en Docker para Centos8: client version 1.40 is too new

Llevo usando Centos 8 hace varios meses para hacer laboratorios y pruebas, estaba armando un Dockerfile y cuando quise probarlo encontré este mensaje de error:

Docker: “Error response from daemon: client version 1.40 is too new. Maximum supported API version is 1.39”

Lo curioso era que si podía levantar contenedores, el problema radica cuando invocas cualquier comando que quiera comunicarse con el daemon de docker, me puse a investigar y encontré el problema:
This is known issue with docker client 19.03.09. It happens if the daemon version supports only max api-version 1.39. Client is not downgrading the API version to match the server supported version automatically. It should be fixed in 19.03.10.
https://github.com/docker/cli/issues/2533

Tal y como refieren en el issue hay un problema conocido y se puede solucionar de 2 maneras, la forma rápida es exportar una variable de entorno especificando la version de API que quieres usar
export DOCKER_API_VERSION=1.39

Pero yo prefiero la solución permanente que es hacer el upgrade y asi no tengo que lanzar esa variable de entorno cada vez que quiera usar el daemon o meter una línea más en mi .bashrc

En centos uso el repo oficial de docker, pero al querer hacer el update encontré este error
[root@behemoth ~]# yum update
Last metadata expiration check: 0:00:07 ago on Sat 11 Jul 2020 12:35:05 PM -05.
Error:
Problem: package docker-ce-3:19.03.12-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
- cannot install the best update candidate for package docker-ce-3:18.09.1-3.el7.x86_64
- package containerd.io-1.2.10-3.2.el7.x86_64 is filtered out by modular filtering

Tenía que hacer upgrade al paquete containerd pero la versión que necesito no esta disponible a traves del repo, asi que busqué y encontré el rpm que necesitaba, para instalarlo ejecutan
yum install -y https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm

Y luego de eso ya podrán hacer el upgrade de la versión de Docker sin problemas
# yum update
Last metadata expiration check: 0:02:13 ago on Sat 11 Jul 2020 12:35:05 PM -05.
Dependencies resolved.
=============================================================================
Package Arch Version Repository Size
=============================================================================
Upgrading:
docker-ce x86_64 3:19.03.12-3.el7 docker-ce-stable 24 M
docker-ce-cli x86_64 1:19.03.12-3.el7 docker-ce-stable 38 M

Transaction Summary
=============================================================================
Upgrade 2 Packages

Total download size: 62 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): docker-ce-19.03.12-3.el7.x86_64.rpm 1.3 MB/s | 24 MB 00:17
(2/2): docker-ce-cli-19.03.12-3.el7.x86_64.r 1.7 MB/s | 38 MB 00:21

Espero les resulte útil

Compartir

Leave a Reply