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
Tenho vários 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 consigo.
Eu faço docker build -t mywebsite .
e então docker run -d mywebsite
. Ambos os comandos parecem funcionar bem. O último me dá uma string codificada em hexadecimal. Mas então, quando o faço docker ps
, não vejo nenhuma máquina funcionando.
Normalmente, os arquivos em sites habilitados são links simbólicos para sites disponíveis. idk se for esse o caso em todos os casos, mas se for, parece que pode ser necessário copiar os sites disponíveis 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 ideia?
o container faz o que você manda, faz uma copia no arquivo e coloca no container, depois vai no diretório e por fim descompacta o arquivo, e pronto. Você não está declarando um
CMD
comando que inicializará o apache ou fará qualquer coisa, então seu contêiner não ficará ativo a menos que você faça issotente colocar isso no final do dockerfile
CMD /usr/sbin/apache2ctl -D FOREGROUND
deixe-me saber como vai