Em uma instalação do Laradock, para rodar o ambiente em Docker num Mac Silicon computer (MacBook Pro ou M1) seguindo os passos abaixo, o Apache2 não sobe, mostrando erro exited code 2
:
Passos
- 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
Resolvendo o erro Apache2 exited code 2 no Docker com MacOs
Para resolver este problema é necessário editar o arquivo /apache2/Dockerfile
, encontrado a partir do diretório do Laradock.
- Edite a primeira linha adicionando a plataforma na intrução
FROM
FROM --platform=linux/x86_64 webdevops/apache:ubuntu-18.04
- Ao final do arquivo, adicione as linhas a seguir para substituição do
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
- A versão final do arquivo deve ficar da seguinte maneira:
#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
- Por fim, faça o
build
do contêiner Docker e suba novamente:
docker-compose build apache2
docker-compose up -d apache2
Comentários