Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 8653|Resposta: 6

Logs do Docker preenchem discos e migração de dados

[Copiar link]
Publicado em 07/02/2022 10:21:43 | | | |
O colega reagiu ao fato de que o sistema não conseguia fazer login no ambiente de teste, verificou decisivamente o monitoramento e verificou que a porta de serviço estava aberta, fez login no servidor para verificar o uso do disco rígido e constatou que o diretório montado em determinado disco estava cheio, como mostrado na figura abaixo:



O disco é 100% o disco usado pela aplicação docker, e inicialmente suspeita-se que a incapacidade de gravar arquivos de log impede o módulo de fornecer serviços ao mundo exterior.

O CentOS conta o tamanho de cada pasta e procura arquivos grandes
https://www.itsvse.com/thread-9542-1-1.html
Procure arquivos grandes e finalmente localize-os no subdiretório /var/lib/docker/containers/Um certo arquivo json.log está ocupando 30G

Limpeza Registros de Contêineres (Tratamento de Sintomas)

Para permitir que o recipiente sirva normalmente imediatamente. Solução temporária: limpar rapidamente esses arquivos, liberar espaço no disco rígido, o script é o seguinte:

Se o container docker estiver rodando, depois de deletar os logs usando rm -rf, você verá que o espaço em disco não é liberado via df -h. O motivo é que, em sistemas Linux ou Unix, deletar um arquivo via rm-rf ou gerenciador de arquivos o desvincula da estrutura de diretórios do sistema de arquivos. Se o arquivo for aberto (e houver um processo em uso), o processo ainda poderá ler o arquivo e o espaço em disco será ocupado o tempo todo. A postura correta é cat /dev/null > *-json.log, e claro que você também pode reiniciar o docker depois de removê-lo via rm -rf.

Comentário:Crie um novo script no diretório do disco livre, caso contrário o script não pode ser criado normalmente


Definindo o tamanho do log do container Docker (causa raiz)

Defina o tamanho máximo logaritário de um serviço de contêiner, e adicione um parâmetro para definir o tamanho logarítmico do contêiner ao iniciar o contêiner, por exemplo:

Tamanho máximo=500M, o que significa que o limite superior do tamanho do tronco de um contêiner é 500M,
max-file=3, o que significa que um contêiner tem três logs, a saber: id+.json, id+1.json e id+2.json.


O Docker migrou para um novo disco

Existem dados relacionados ao Docker no disco do sistema, o disco do sistema tem apenas 50G de tamanho, e o disco de dados tem 100G, como transferir os dados existentes do Docker para o disco de dados?

Para docker instalado usando o método yum do sistema CentOS, o diretório padrão de instalação deve ser: /var/lib/docker

Docker versão < v17.05.0

Como o dockerd pode especificar o caminho de armazenamento da imagem e do contêiner através do grafo de parâmetros, como –graph=/var/lib/docker, só precisamos modificar o arquivo de configuração para especificar os parâmetros de inicialização.

O arquivo de configuração do Docker pode definir a maioria dos parâmetros do processo em segundo plano, e a localização de armazenamento em cada sistema operacional é inconsistente, no Ubuntu: /etc/default/docker, e no CentOS: /etc/sysconfig/docker.

Docker versão >= v17.05.0

Como o Docker oficialmente descontinuou o recurso de grafo nesta versão, se você tiver a versão do Docker >= v17.05.0 instalada na sua máquina, não pode modificar o diretório padrão de instalação (armazenamento) do Docker especificando o parâmetro do grafo no arquivo de configuração /etc/default/docker.

Existem outras maneiras pelas quais a nova versão do Docker pode alcançar nosso objetivo de modificar o diretório de instalação (armazenamento): modificando (novo) /etc/docker/daemon.json para especificar o valor do parâmetro raiz de dados.

Configuração do diretório do daemon Docker:O login do hiperlink está visível.

Preparação para migração: Pare todas as aplicações de contêineres e pare os serviços docker (systemctl stop docker).


O Docker analisa as configurações de reinício de contêineres e contêineres de paragem em massa
https://www.itsvse.com/thread-10130-1-1.html
Crie um novo diretório em /home/software com o seguinte comando:

Migre o diretório /var/lib/docker para o diretório /home/software/docker (recomenda-se copiá-lo e depois excluir o arquivo do diretório /var/lib/docker quando estiver tudo certo), o comando é o seguinte:

Ao copiarCertifique-se de adicionar o parâmetro -a, caso contrário alguns recipientes não funcionarão corretamente!!!!!

Visualize todas as conexões soft e pontos de arquivo no diretório atual com o seguinte comando:


Modifique o arquivo /etc/docker/daemon.json com o seguinte comando:



Salve e então inicie o serviço docker com o seguinte comando:

Inicie o contêiner, os testes estão rodando normalmente e, finalmente,Exclua a pasta /var/lib/docker



(Fim)




Anterior:Verifique os horários de ligar e desligar o sistema Linux
Próximo:Fábricas de filtros construídas no Spring Cloud Gateway
Publicado em 13/02/2022 16:36:29 |
Aprenda a aprender。。。。。
 Senhorio| Publicado em 24/02/2022 09:38:26 |
Docker: como remover uma imagem de não
https://www.itsvse.com/thread-10112-1-1.html
 Senhorio| Publicado em 24/02/2022 13:21:48 |
Lista
descrição
ID e Nome do CONTÊINERO ID e o nome do contêiner
% de CPU e % de MEMA porcentagem de CPU e memória host que o container está usando
USO / LIMITE DE MEEMA memória total que o contêiner está usando e a quantidade total de memória permitida para ser usada
E/S de RedeA quantidade de dados que um contêiner envia e recebe por meio de sua interface de rede
I/O DE BLOCOA quantidade de dados que um contêiner lê e grava de um dispositivo bloco no host
PIDsO número de processos ou threads criados pelo contêiner


 Senhorio| Publicado em 25/03/2022 14:45:13 |
Você pode encontrar o aplicativo correspondente para contêineres consultando o valor Name do arquivo /var/lib/docker/containers/xxxx/config.v2.json.



Publicado em 07/12/2022 14:17:31 |
Logs do Docker preenchem discos e migração de dados
 Senhorio| Publicado em 17/04/2023 09:59:49 |
O docker esvazia os logs de um container individualmente com o seguinte comando:

Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com