[docker-in-docker] `docker-init.sh` prints `grep: /proc/modules: No such file or directory` on kernels without loadable-module support

Aberta Para iniciantes
#1,770 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 3 dias

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
1/5
Tempo estimado
Menos de uma hora
Facilidade para iniciantes
88/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
docker, shell
Domínio
devops

Direção de pesquisa

A verificação está em src/docker-in-docker/install.sh; leia a seleção de backend iptablesSwitchAtRuntime descrita na issue. Reproduza o problema em um kernel sem suporte a módulos carregáveis e confirme que a inicialização exibe o erro de ausência de /proc/modules. O trabalho estará concluído quando esse erro for suprimido e o fallback para iptables-nft continuar funcionando.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

With iptablesSwitchAtRuntime at its default of true, docker-init.sh prints an error on every start when the kernel is built without loadable-module support, because /proc/modules doesn't exist there.

The check is in src/docker-in-docker/install.sh:

if type iptables-legacy > /dev/null 2>&1 \
   && { grep -qE '^(ip_tables)\b' /proc/modules \
        || [ -d /sys/module/ip_tables ]; } \

grep -q doesn't suppress the error for a missing file, so the message goes to stderr:

grep: /proc/modules: No such file or directory

The backend selection still works: the grep fails, the /sys/module check runs next, and the script falls through to iptables-nft.
So this is only noise, but it looks like a failure to anyone reading container startup output.

Reproduction: feature version 4.1.3, in a microsandbox (msb 0.7.13) guest on kernel 6.12.113, built without loadable modules.
Any container or VM on such a kernel should behave the same.

Suggested fix: silence that one grep, leaving the rest of the logic as it is:

   && { grep -qE '^(ip_tables)\b' /proc/modules 2>/dev/null \

Related: #1709 concerns the same iptablesSwitchAtRuntime check.

Linguagem predominante
Shell
Estrelas
1.6k
Forks
626
Merge médio
4d 10h
PRs com merge (30d)
7

Preparar o ambiente

Abrir no Codespaces

Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de devcontainers/features

Todas as issues de devcontainers/features

Issues semelhantes

Mais issues de Shell/Bash

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.