Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SQLSTATE[HY000] [2002] Connection refused #137

Open
Twisterrr opened this issue Sep 16, 2024 · 5 comments
Open

SQLSTATE[HY000] [2002] Connection refused #137

Twisterrr opened this issue Sep 16, 2024 · 5 comments
Assignees
Labels
question Further information is requested

Comments

@Twisterrr
Copy link

Bonjour,

J'essaie de déployer votre application sur un cluster Kubernetes. Pour cela j'ai fais un Dockerfile et j'ai crée une image à partir de ça.
Par la suite j'ai déployer sur kubernetes l'application qui a une DB sur un cluster Mariadb.

Suite à cela j'ai un problème de Laravel avec cette erreur : SQLSTATE[HY000] [2002] Connection refused
image

Voici mon entrypoint.sh :

#!/usr/bin/env bash

php artisan migrate:fresh --seed
php artisan storage:link
php artisan db:seed --class=AttributeSeeder
php artisan db:seed --class=DomainSeeder
php artisan db:seed --class=MeasureSeeder
php artisan passport:install
php artisan key:generate
chown www-data:www-data storage/oauth-*.key
chmod 600 storage/oauth-*.key
php artisan serve --host 0.0.0.0 --port 80

Et voici mon Dockerfile :

FROM php:8.2-cli
RUN apt-get update && apt-get upgrade --assume-yes \
    && DEBIAN_FRONTEND=noninteractive apt-get install --assume-yes --no-install-recommends \
    libfreetype-dev libjpeg62-turbo-dev libpng-dev libonig-dev libcurl4-gnutls-dev \
    libxml++2.6-dev libzip-dev libpq-dev && apt-get clean && rm -rf /var/lib/apt/lists/*
RUN docker-php-ext-configure gd --with-freetype --with-jpeg \
    && docker-php-ext-install gd mbstring curl xml zip opcache pdo_mysql
    # php-mysql \
RUN sed -i 's/;extension=pdo_mysql/extension=pdo_mysql/' /usr/local/etc/php/php.ini-development && \
    sed -i 's/;extension=pdo_mysql/extension=pdo_mysql/' /usr/local/etc/php/php.ini-production

# Install MySQL client
RUN apt-get update && apt-get install -y default-mysql-client
ENV COMPOSER_ALLOW_SUPERUSER=1

EXPOSE 80

RUN mkdir /var/www/html/deming

WORKDIR /var/www/html/deming

COPY . /var/www/html/deming/
RUN chmod +x /var/www/html/deming/docker/*.sh
RUN mkdir -p storage/framework/views storage/framework/cache storage/framework/sessions bootstrap/cache
RUN chmod -R 775 /var/www/html/deming/storage && chown -R www-data:www-data /var/www/html/deming

COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer

RUN cd /var/www/html/deming && composer install
RUN php artisan vendor:publish --all

RUN chmod u+x /var/www/html/deming/entrypoint.sh
ENTRYPOINT "/var/www/html/deming/entrypoint.sh"

Comment je peux régler le problème ?

@dbarzin
Copy link
Owner

dbarzin commented Sep 17, 2024

As-tu configuré les paramètres de connexion à la DB dans le fichier .env ?
As-tu créé la DB ?
As-tu créé un utilisateur pour se connecter à la DB ?

@dbarzin dbarzin self-assigned this Sep 17, 2024
@dbarzin dbarzin added the question Further information is requested label Sep 17, 2024
@Twisterrr
Copy link
Author

Oui, j'ai finalement réussi à résoudre le problème.
Il venait du fait que l'application n'interprète pas correctement les caractères spéciaux du à mon mot de passe de DB dans le .env avec des symboles.
Pour cela, j'ai juste mis dans mon deployment Kubernetes, un chemin menant directement vers mon "Hashicorp Vault" me permettant de résoudre ça vu qu'il n'est pas mit directement en dur (car je mets mes variables d'env de MariaDB directement dans mon deployment). Ca m'a pu résoudre mon problème.

@dbarzin
Copy link
Owner

dbarzin commented Sep 17, 2024

Pourrais-tu écrire une petite documentation sur ton déploiement Kubernetes ? Cela pourrait certainement intéresser d'autres utilisateurs.

@Twisterrr
Copy link
Author

Oui, je peux le faire dès que j'ai du temps libre. Tu l'as veux dans cette issue ?

@dbarzin
Copy link
Owner

dbarzin commented Sep 18, 2024

Tu peux faire un "pull request" et devenir contributeur du projet !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants