dockerfile não pode ser executado

1

Aqui está o meu Dockerfile:

FROM php:5.5-apache

COPY sites-enabled.tgz /root/sites-enabled.tgz

RUN cd /etc/apache2/sites-enabled && \
    tar xvf /root/sites-enabled.tgz

Eu tenho um número de sites que precisam ser configurados e acho que a maneira mais fácil de configurá-los é apenas copiar os arquivos de configuração dos sites nos diretórios apropriados. Infelizmente não sou capaz de fazer isso.

Eu faço docker build -t mywebsite . e, em seguida, docker run -d mywebsite . Ambos os comandos parecem rodar bem. O último me dá uma string codificada hexadecimal. Mas quando eu faço docker ps não vejo nenhuma máquina rodando.

Normalmente, os arquivos habilitados para sites são links simbólicos para sites disponíveis. idk se esse for o caso em todos os casos, mas se for, então parece que pode ser necessário copiar os sites disponíveis no site também. por exemplo.

FROM php:5.5-apache

COPY sites-available.tgz /root/sites-available.tgz
COPY sites-enabled.tgz /root/sites-enabled.tgz

RUN cd /etc/apache2/sites-available && \
    tar xvf /root/sites-available.tgz

RUN cd /etc/apache2/sites-enabled && \
    tar xvf /root/sites-enabled.tgz

Infelizmente, isso também não funciona. Com sites-available.tgz, mas não sites-enabled.tgz.

Alguma idéia?

    
por neubert 31.03.2017 / 18:43

1 resposta

1

o contêiner faz o que você diz, faz uma cópia no arquivo e o coloca no contêiner, depois vai para o diretório e, finalmente, descompacta o arquivo, e é isso. Você não está declarando um comando CMD que irá inicializar o apache, ou fazer qualquer coisa, então seu contêiner não ficará ativo a menos que você faça isso

tente colocar isso no final do dockerfile CMD /usr/sbin/apache2ctl -D FOREGROUND

deixe-me saber como se passa

    
por 31.03.2017 / 20:10