Reinicie o apache no Docker

2

Estou tentando atualizar meu arquivo .htaccess em um contêiner do Docker. Depois de atualizar o arquivo, preciso reiniciar o Apache. Sempre que tento reiniciar o Apache usando o comando service apache2 restart , recebo o seguinte erro:

(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down Unable to open logs Action 'start' failed. The Apache error log may have more information. ...fail!

Quando cheguei ao log de erros, não há novos erros. É assim que o meu Dockerfile se parece:

FROM ubuntu:12.04

# Install dependencies
RUN apt-get update -y
RUN apt-get install -y git curl apache2 php5 libapache2-mod-php5 php5-mcrypt php5-mysql php5-curl vim

# Install app
RUN rm -rf /var/www/*
ADD src /var/www

# Configure apache
RUN a2enmod rewrite
RUN chown -R www-data:www-data /var/www
ENV APACHE_RUN_USER www-data
ENV APACHE_RUN_GROUP www-data
ENV APACHE_LOG_DIR /var/log/apache2

EXPOSE 80

CMD ["/usr/sbin/apache2", "-D",  "FOREGROUND"]
    
por Tyler Hilbert 26.04.2016 / 17:40

2 respostas

1

TLDR; comando para reiniciar o apache no seu caso é kill -USR1 1

Algumas coisas precisam ser esclarecidas aqui:

  1. Sua imagem do docker está executando o apache diretamente usando o CMD.
  2. isso significa que o processo principal do apache sempre terá PID = 1 e você não está usando o sistema init.
  3. Você está tentando reiniciar o apache usando o comando service , que depende do sistema init. Doh
  4. A maneira alternativa de reiniciar o apache é enviar o sinal para o processo principal. Leia mais aqui: link
por 28.04.2016 / 23:12
0

De acordo com seu Dockerfile, você inclui seus arquivos HTML ao criar sua imagem do docker:

ADD src /var/www

Então você poderia explicar por que você precisa editar um arquivo .htaccess depois de executar sua imagem? Se você precisar de um arquivo .htaccess diferente em hosts diferentes, o modo "docker" seria usar um ao executar seu contêiner:

docker run -v /path/to/host.htaccess:/var/www/.htaccess user/image
    
por 13.05.2016 / 11:35