hospedagem de site Wordpress em Docker Container

1. hospedagem de site Wordpress em Docker Container

robert junior barros gonçalves
robert_barros

(usa Debian)

Enviado em 06/01/2022 - 17:47h

Boa tarde amigos, estou fazendo a hospedagem de um wordpress em docker container, que por enquanto estará localhost. Porem estou tento muitos dificuldades em relação a isso pois esta aparecendo muitos erros. Ate o momento eu ja fiz o seguinte

-Criei um Dockerfile com a imagem limpa do debian
FROM debian:latest
RUN apt-get update
RUN apt-get install apache2 php php-mysql libapache2-mod-php unzip vim git binutils -y
RUN rm /etc/apache2/apache2.conf
ADD apache2.conf /etc/apache2/
RUN rm -rf /var/www/html/*
ENV DB_NAME=db_wordpress
ENV DB_USER=robert
ENV DB_PASSWORD=(password)
ENV DB_HOST=db-wordpress.ch223xefcvf7.us-east-1.rds.amazonaws.com
CMD apachectl -D FOREGROUND


-como se pode ver no Dockerfile eu defini variaveis de Ambiente para que o PHP do wordpress os consute (anexo)
-tmb estou usando um sistema de arquivo EFS onde eu fiz um mapeamento para o meu container (os arquivos do EFS ja estão com as permissões corretas e no grupo www-data:www-data)

docker run -dp 80:80 -v /efs-mount-point:/var/www/html/ wordpress 

-ajustei a url do meu banco de dados para localhost(anexo)




  


2. Re: hospedagem de site Wordpress em Docker Container

robert junior barros gonçalves
robert_barros

(usa Debian)

Enviado em 06/01/2022 - 18:03h


Consegui resolver porem como ja tinha escrito o post resolvi postar, pq vai que seja util a alguem

vou descrever o meu troubleshooting:

primeiro fiz um teste de conexão com o meu banco de dados para isso utilizei um script do PHP
mkdir db-connect-test.php 

vim db-connect-test.php 

<?php
# Fill our vars and run on cli
# $ php -f db-connect-test.php

$dbname = 'name';
$dbuser = 'user';
$dbpass = 'pass';
$dbhost = 'host';

$link = mysqli_connect($dbhost, $dbuser, $dbpass) or die("Unable to Connect to '$dbhost'");
mysqli_select_db($link, $dbname) or die("Could not open the db '$dbname'");

$test_query = "SHOW TABLES FROM $dbname";
$result = mysqli_query($link, $test_query);

$tblCnt = 0;
while($tbl = mysqli_fetch_array($result)) {
$tblCnt++;
#echo $tbl[0]."<br />\n";
}

if (!$tblCnt) {
echo "There are no tables<br />\n";
} else {
echo "There are $tblCnt tables<br />\n";
}
?>


php -f db-connect-test.php 
comando para testar a conexão

o a minha maquina apontou que estava tento conexão com o banco de dados porem meu docker não o estava conseguindo acessar

então usei um curl para fazer o teste de conexão
curl http://localhost 

o resultando foi que não havia conexao

acessei a cli do meu docker para verificar as variaveis
docker exec -it (container) /bin/bash 

set 
(comando para verificar variaveis)
então observei que o meu container não estava consultando as variaveis no meu dockerfile

então modifiquei o meu docker file apagando as variaveis
FROM debian:latest
RUN apt-get update
RUN apt-get install apache2 php php-mysql libapache2-mod-php unzip vim git binutils -y
RUN rm /etc/apache2/apache2.conf
ADD apache2.conf /etc/apache2/
RUN rm -rf /var/www/html/*


então atualizei a minha imagem
docker build -t wordpress . 


e rodei o docker acrescentando parametros de variaveis
docker run -dp 80:80 -v /efs-mount-point/:/var/www/html -e DB_HOST=db-wordpress.ch223xefcvf7.us-east-1.rds.amazonaws.com -e DB_USER=robert -e DB_PASSWORD="password" -e DB_DATABASE=db_wordpress wordpress 


e foi isso meus amigos







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts