Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Erro ao acessar painel de cadastro de noticia

Ao acessar o sistema para inserir usuario e senha é apresentado o erro abaixo:

PDOException Object
(
    [message:protected] => SQLSTATE[HY000] [2002] Connection timed out
    [string:Exception:private] => 
    [code:protected] => 2002
    [file:protected] => /var/www/html/funcoes.php
    [line:protected] => 7
    [trace:Exception:private] => Array
        (
            [0] => Array
                (
                    [file] => /var/www/html/funcoes.php
                    [line] => 7
                    [function] => __construct
                    [class] => PDO
                    [type] => ->
                    [args] => Array
                        (
                            [0] => mysql:host=172.18.0.2;dbname=empresa
                            [1] => root
                            [2] => q1w2e3r4
                        )

                )

            [1] => Array
                (
                    [file] => /var/www/html/index.php
                    [line] => 6
                    [args] => Array
                        (
                            [0] => /var/www/html/funcoes.php
                        )

                    [function] => include
                )

        )

    [previous:Exception:private] => 
    [errorInfo] => 
)
3 respostas

Olá Leonardo, tudo bem? Os containers subiram normalmente ou aconteceu algum erro? O container do MySQL está em execução? Aparentemente o problema é de acesso ao MySQL, executa o comando abaixo:

docker ps

E fala pra gente qual foi o resultado!

Os containers estão no ar:

CONTAINER ID        IMAGE                           COMMAND                  CREATED              STATUS              PORTS                               NAMES
2fa397e2781c        jnlucas/image-phpmysql:latest   "docker-php-entrypoi…"   13 seconds ago       Up 9 seconds        0.0.0.0:8588->80/tcp                container-kube-noticias
95c073e2a951        jnlucas/image-phpmysql:latest   "docker-php-entrypoi…"   13 seconds ago       Up 9 seconds        0.0.0.0:8587->80/tcp                container-kube
cb36d7994bbf        mysql:5.7                       "docker-entrypoint.s…"   About a minute ago   Up About a minute   0.0.0.0:3306->3306/tcp, 33060/tcp   banco_mysql
solução!

Solucionei o problema alterando o docker-compose da raiz do projeto da seguinte forma:

version: '3.3'
services:
  noticias_web:
    container_name: container-kube-noticias
    image: jnlucas/image-phpmysql:latest
    networks: 
      - production-network
    volumes:
      - ./noticias:/var/www/html

    working_dir: /var/www/html/
    ports:
      - "8588:80"

  sistema_web:
    container_name: container-kube
    image: jnlucas/image-phpmysql:latest
    networks: 
      - production-network
    volumes:
      - ./sistema:/var/www/html

    working_dir: /var/www/html/
    ports:
      - "8587:80"
  db:
    image: mysql:5.7
    networks: 
      - production-network
    container_name: banco_mysql
    volumes:
      - ./mysql:/home

    ports:
      - '3306:3306'
    environment:
      MYSQL_DATABASE: 'empresa'
      MYSQL_USER: 'root'
      MYSQL_PASSWORD: 'q1w2e3r4'
      MYSQL_ROOT_PASSWORD: 'q1w2e3r4'

networks:
    production-network:
        driver: bridge

Coloquei todos os serviços dentro de uma rede criada por mim.