
Este erro acontece mesmo depois de limpar o cache de imagens do Docker:
$ docker run -it --rm mariadb:10.8.3
2022-06-15 11:28:14+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.8.3+maria~jammy started.
2022-06-15 11:28:14+00:00 [ERROR] [Entrypoint]: mariadbd failed while attempting to check config
command was: mariadbd --verbose --help --log-bin-index=/tmp/tmp.EUcxIEz4Yz
Can't initialize timers
10.8.3 é atualmente a latest
imagem no Docker Hub. A etiqueta da imagem é ea81af801379
. Isso está no Ubuntu 18.04 de 64 bits. O servidor tem baixa carga de CPU, mais de 100 GB de RAM livre e terabytes de espaço livre em disco.
Tenho um banco de dados existente que já foi tocado por esta versão e que não gostaria de arriscar fazer o downgrade.
Eu tenho vistoesse assuntomas não há razão para que o MariaDB não consiga criar um thread.
Como posso resolver isso?
Responder1
A solução é mudar a versão do MariaDB paraevitarversion 10.8.3
, por exemplo, forçando mariadb:10.8.2
ou mariadb:10.7
, ou para definir--security-opt seccomp=unconfined
Se o seu Dockerfile ou docker-compose estiver fazendo referência mariadb:latest
ou mariadb:10
no verão de 2022, isso está apontando para mariadb:10.8.3
.
Ao contrário do post de @Arno, a versão Docker não é o problema. Estou executando o Docker 20.10.17
e o problema persiste.
Você também pode executar diretamente com um perfil de segurança atualizado:
docker run --security-opt seccomp=/etc/docker/profiles-seccomp-scmp-act-trace.json
Esperançosamente, uma correção estará no 10.8.3
lançamento do MariaDB.
Responder2
O problema foi relatadono GitHub. Atualizar o Docker parece resolver isso.
Responder3
Eu tive o mesmo problema ao executar MariaDB ( latest
) no Gitlab CI usandoContêineres de testepara Java.
Usar a seccomp=unconfined
opção de segurança - conforme discutido no Github relatado com link por @Arno resolveu isso para mim.
Habilitar isso testcontainers-java
é um pouco estranho, então aqui está o fluxo se os leitores encontrarem o mesmo problema com Test Containes:
var container = new MariaDBContainer<>("mariadb:latest")
.withCreateContainerCmdModifier(cmd -> {
var cfg = cmd.getHostConfig();
List<String> seclist = Objects.requireNonNullElseGet(cfg.getSecurityOpts(),
LinkedList::new);
seclist.add("seccomp=unconfined");
cfg.withSecurityOpts(seclist);
});
Responder4
Esta mesma pergunta foi feita no StackOverflow - veja minha resposta láhttps://stackoverflow.com/a/72467817
Para resumir, sua versão do docker é provavelmente <20.10.10, que é o mínimo necessário para usar imagens baseadas em Jammy. MariaDB> 10.8.2 usa Jammy, então há um conflito aí.
Atualizar o docker é realmente a única opção correta neste momento - MariaDB 10.7 encerra o suporte em breve em 14/02/2023, e Docker 19.03 (o lançamento antes de 20.10) entrou em EOL em 21/07/2021.