imagem inconsistente do Docker

1

As imagens do Docker supostamente são imutáveis, mas quando eu importo uma das minhas imagens em outra máquina, ela se comporta de maneira diferente.

Para reproduzir o bug, vou começar a partir de uma imagem debian-wheezy construída usando o debootstrap.

Eu construo minha imagem usando um Dockerfile:

FROM debian-wheezy
RUN apt-get install -y fail2ban
RUN rm /var/run/fail2ban/fail2ban.sock

O último comando evita que o fail2ban falhe na próxima inicialização: por algum motivo, o arquivo de soquete permanece lá após a instalação do fail2ban, mesmo que eu pare o serviço manualmente no Dockerfile. Fail2ban não pode reiniciar se o arquivo ainda estiver lá.

O lançamento da imagem e o início do fail2ban serão bem-sucedidos. Podemos verificar o conteúdo do repositório / var / run / fail2ban :

$ docker build -t test/fail2ban .
$ docker run test/fail2ban ls /var/run/fail2ban
fail2ban.pid

No entanto, se eu exportar a imagem e importá-la para outra máquina:

$ docker save test/fail2ban > /tmp/fail2ban.tar
$ scp /tmp/fail2ban.tar user@machine:/tmp
$ ssh user@machine "cat /tmp/fail2ban.tar | docker load"
$ ssh user@machine docker run test/fail2ban ls /var/run/fail2ban
fail2ban.pid
fail2ban.sock

Desta vez, o arquivo de soquete está lá, impedindo-me de iniciar o serviço.

Alguém pode explicar esse comportamento e como resolver o problema?

Aqui estão mais algumas informações:

$ uname -a
Linux debian 3.2.0-4-amd64 #1 SMP Debian 3.2.65-1+deb7u2 x86_64 GNU/Linux
$ docker --version
Docker version 1.6.0, build 4749651
$ ssh user@machine uname -a
Linux debian 3.2.0-4-amd64 #1 SMP Debian 3.2.65-1 x86_64 GNU/Linux
$ ssh user@machine docker --version
Docker version 1.6.0, build 4749651
    
por pedroapero 23.06.2015 / 14:29

0 respostas