Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Erro de ´GLIBC_2.28´ ao fazer o docker-compose build

Estou utilizando o Ubuntu 18.04 e ao rodar o comando ¨sudo docker-compose build¨, o seguinte erro aparece:

    [16260] Error loading Python lib '/tmp/_MEIZB2Oxu/libpython3.9.so.1.0': dlopen: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /tmp/_MEIZB2Oxu/libpython3.9.so.1.0)

Podem me ajudar, por favor?

3 respostas

Olá, Luiz. Tudo bem?

Antes de mais nada, você está executando o comando com um espaço entre docker e compose? O correto é docker-compose com um hífen no meio, não um espaço.

Dito isso, essa é a única mensagem que a parece após o docker-compose build? Pode mandar aqui o conteúdo do seu docker-compose.yml?

Fico aguardando.

Olá, Vitor!

Então, estou executando o comando com um hífen, sim. E essa é a única mensagem de erro que aparece. Segue conteúdo do arquivo docker-compose.yml:

version: ¨3¨
services: 
  nginx: 
    build:
      dockerfile: ./docker/nginx.dockerfile
      context: .
    image: iagosaito/nginx
    container_name: nginx
    ports:
      - ¨80:80¨
    networks:
      - production-network
    depends_on: 
      - ¨node1¨
      - ¨node2¨
      - ¨node3¨

  mongodb:
    image: mongo
    networks:
      - production-network

  node1:
    build: 
      dockerfile: ./docker/alura-books.dockerfile
      context: .
    image: douglasq/alura-books
    container_name: alura-books1
    ports:
      - ¨3000¨
    networks:
      - production-network
    depends_on: mongodb

  node2:
    build: 
      dockerfile: ./docker/alura-books.dockerfile
      context: .
    image: douglasq/alura-books
    container_name: alura-books2
    ports:
      - ¨3000¨
    networks:
      - production-network
    depends_on: mongodb

  node3:
    build: 
      dockerfile: ./docker/alura-books.dockerfile
      context: .
    image: douglasq/alura-books
    container_name: alura-books3
    ports:
      - ¨3000¨
    networks:
      - production-network
    depends_on: mongodb

networks: 
  production-network:
    driver: bridge
solução!

Oi, Vinicius.

Tem algum motivo específico para você usar o Ubuntu 18.04? O erro diz a versão do glibc que a libpython3.9.so.1.0 exige não está presente no sistema. Pelo que pesquisei, a versão padrão no Ubuntu 18.04 é a glibc 2.27.

Penso em algumas opções:

  1. Você poderia atualizar o Ubuntu pro 20.04.
  2. Tentar atualizar o glibc da sua máquina baixando um pacote aqui nesse site do Debian https://packages.debian.org/buster/amd64/libc6/download, depois instalar executando, no diretório onde o arquivo foi baixado, sudo apt install ./nome-do-pacote.deb ou com dpkg -i nome-do-pacote.deb. Isso pode causar alguns problemas de dependências.
  3. A mensagem não dá muito detalhe de quem está usando essa biblioteca do python, mas pode ser que se você usar uma versão do python mais antiga que a 3.9, ela dependa de uma versão da glibc compatível com a sua.

Fica complicado dar um direcionamento mais preciso, pois tem poucas informações.

Espero que te ajude.