Crie um volume de encaixe com tamanho limitado
Há informações muito limitadas sobre a criação de volume com opções "https://docs.docker.com/engine/reference/commandline/volume_create/ "
Eu só quero criar um volume com tamanho limitado, tentei,
docker volume create --opt o=size=10m hello-volume
, ao executar um contêiner hello world simples com “docker run -v hello-volume: / hello -it ubuntu / bin / bash”, recebi o erro como algo como “docker: resposta de erro do daemon:… não existe esse dispositivo”…
Portanto, presumi que devemos fornecer todas as opções ao criar o volume, como
“docker volume create --driver local --opt type=*** --opt device=*** --opt o=size=10m hello-volume”
? Em caso afirmativo, quais são o "tipo" e o "dispositivo" aqui? Eu acho que o dispositivo é realmente um caminho para qualquer diretório? eu tentei
“docker volume create --driver local --opt type=volume --opt device=/ --opt o=size=10m hello-volume”.
Quando tentei executar o contêiner como "docker run -v hello-volume: / hello -it ubuntu / bin / bash", recebi o erro como "docker: resposta de erro do daemon: erro ao montar o volume '/ var / lib / docker / volumes / hello-volume / _data ': erro ao montar o volume com as opções: tipo =' volume 'device =' / 'o =' size = 10m ': não existe esse dispositivo. ”.
eu tentei
docker volume create --driver local --opt type=tmpfs --opt device=tmpfs --opt o=size=10m hello-volume
que finalmente funciona, mas os dados estão na memória que não é persistente. Então, alguém pode apontar quais são as opções para "tipo" e "dispositivo" ao criar o volume (ou qual é o padrão se não dermos nenhuma opção)?
Atualizar:
Só quero atualizar que parece que não há como limitar o tamanho do disco no driver local com o tipo ext4 (embora tenha sido reivindicável em várias respostas e outras postagens). O principal motivo é que não existe esse parâmetro "size" no sistema de arquivos "ext4". Criei um volume do docker:
docker volume create --driver local --opt type=ext4 --opt device=/dev/xvdf --opt o=size=10m hello-volume
Depois, inspecione-o (volume da janela de encaixe inspecione olá-volume) e monte-o com um contêiner, tudo ficará bem por enquanto.
[
{
"CreatedAt": "2018-09-01T04:23:57Z",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/hello-volume/_data",
"Name": "hello-volume",
"Options": {
"device": "/dev/xvdf",
"o": "size=10m",
"type": "ext4"
},
"Scope": "local"
}
]
docker run -v hello-volume:/myfile1 -exec -it ubuntu /bin/bash
Mas quando você escreve / coloca um arquivo grande (maior que 10m) no "/ myfile1" desse contêiner, nenhum alerta / exceção é lançado, a gravação é bem-sucedida. O que eu acho é que "o = size = 10m" não é reconhecido pelo sistema de arquivos do tipo ext4.