In an installation of Laradock, to run the Docker environment in a Mac Silicon Computer (MacBook Pro or M1) Following the steps below, Apache2 does not go up, showing error exited code2
:
Steps to reproduce
- git clone [email protected]:laradock/laradock.git
- cd laradock
- cp .env.example .env
- docker-compose build workspace
- docker-compose build apache2
- docker-compose up apache2 workspace –> Apache2_1 exited with code 2
Fixing the error Apache2 exited code 2 with Docker on MacOs
To solve this problem you need to edit the /apache2/dockerfile
file, found from the Laradock directory.
- Edit the first line by adding the platform to the
From
FROM --platform=linux/x86_64 webdevops/apache:ubuntu-18.04
- At the end of the file, add the following lines to replace the
go
:
RUN wget -O "/usr/local/bin/go-replace" "https://github.com/webdevops/goreplace/releases/download/1.1.2/gr-arm64-linux" \
&& chmod +x "/usr/local/bin/go-replace" \
&& "/usr/local/bin/go-replace" --version
- The final version of the file should be as follows:
#FROM webdevops/apache:ubuntu-18.04
FROM --platform=linux/x86_64 webdevops/apache:ubuntu-18.04
LABEL maintainer="Eric Pfeiffer <[email protected]>"
ARG DOCUMENT_ROOT=/var/www/
ARG PHP_UPSTREAM_CONTAINER=php-fpm
ARG PHP_UPSTREAM_PORT=9000
ARG PHP_UPSTREAM_TIMEOUT=60
ARG APACHE_INSTALL_HTTP2=false
ENV WEB_PHP_SOCKET=${PHP_UPSTREAM_CONTAINER}:${PHP_UPSTREAM_PORT}
ENV WEB_DOCUMENT_ROOT=${DOCUMENT_ROOT}
ENV APACHE_HTTP2=${APACHE_INSTALL_HTTP2}
ENV WEB_PHP_TIMEOUT=${PHP_UPSTREAM_TIMEOUT}
ENV LOG_STDOUT=/var/log/apache2/access.log
ENV LOG_STDERR=/var/log/apache2/error.log
EXPOSE 80 443
WORKDIR /var/www/
COPY vhost.conf /etc/apache2/sites-enabled/vhost.conf
ADD ./startup.sh /opt/startup.sh
ENTRYPOINT ["/opt/docker/bin/entrypoint.sh"]
CMD ["/bin/bash", "/opt/startup.sh"]
EXPOSE 80 443
RUN wget -O "/usr/local/bin/go-replace" "https://github.com/webdevops/goreplace/releases/download/1.1.2/gr-arm64-linux" \
&& chmod +x "/usr/local/bin/go-replace" \
&& "/usr/local/bin/go-replace" --version
- Finally, run the Docker container
build
and go up again:
docker-compose build apache2
docker-compose up -d apache2
Comments