Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

apache2 service status in Docker container

Tags:

docker

apache

My Dockerfile as follow:

FROM php:7.2-apache

#install some basic tools
RUN apt-get -dd clean && apt-get -dd update && apt-get install -y \
    git \
    tree \
    vim \
    wget \
    iputils-ping \
    mysql-client \
    subversion

#install some base extensions
RUN apt-get install -y \
    libzip-dev \
    libicu-dev \
    zip \
  && docker-php-ext-configure zip --with-libzip \
  && docker-php-ext-configure intl \
  && docker-php-ext-install zip intl opcache pdo_mysql mysqli

#setup composer 
RUN curl -sS https://getcomposer.org/installer | php \
        && mv composer.phar /usr/local/bin/ \
        && ln -s /usr/local/bin/composer.phar /usr/local/bin/composer


WORKDIR /var/www/app

EXPOSE 80

RUN a2enmod rewrite

After I compose above image with mysql I start server e.g

docker-compose up -d

And access the container by:

docker exec -it php_web_1 bash

Then I check the apache2 service status:

service apache2 status

[FAIL] apache2 is not running ... failed!

If I just run command : apache2

httpd (pid 1) already running

service apache2 start/stop does not have any effect on apache2 status.

What is the difference b/w both ways and why service apache2 start/stop is not working ?

like image 290
sakhunzai Avatar asked Nov 18 '25 08:11

sakhunzai


1 Answers

If you look at the Dockerfile for the php:7.2-apache base image, you would see the CMD ["apache2-foreground"] which runs a script located in /usr/local/bin/ directory to run the Apache server upon the container startup. If you set an interactive session with the base image and run the SysVInit commands like service apache2 start, this will start the Apache service within the container which was stopped when you made the session.

In your case, try running the script in the Dockerfile located in the /usr/local/bin/ directory as the CMD command and re-run docker-compose up -d to see if the Apache is started or not.

like image 134
Janshair Khan Avatar answered Nov 20 '25 23:11

Janshair Khan



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!