首页 > 解决方案 > Docker CodeIgniter MariaDb 连接被拒绝

问题描述

我是 docker 新手,并试图在我的机器上本地部署我的脚本到 docker 容器上。但问题是我无法连接到我的数据库,当我查询数据库时出现错误

mysqli::real_connect(): (HY000/2002): 连接被拒绝

hostname => 'localhost'正如我在 docker ps 服务中看到的那样,我已经尝试了通过替换的解决方案,127.0.0.1:3306但我无法连接。

Docker撰写文件:

version: '3'

services:
  myapp:
    image: 'bitnami/codeigniter:3'
    ports:
      - '8000:8000'
    volumes:
      - '.:/app'
  mariadb:
    image: 'bitnami/mariadb:10.3'
    environment:
      - ALLOW_EMPTY_PASSWORD=yes
  phpmyadmin:
      image: phpmyadmin/phpmyadmin
      restart: always
      ports:
          - 8080:80
      volumes:
          - /sessions
      environment:
        PMA_HOST: mariadb

运行容器镜像

我也尝试升级mariadb:latest但它没有用。

数据库.php

$db['default'] = array(
    'dsn'   => '',
    'hostname' => '127.0.0.1:3306',
    'username' => 'root',
    'password' => '',
    'database' => 'notification_task',
    'dbdriver' => 'mysqli',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => (ENVIRONMENT !== 'production'),
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
);

编辑:

我还通过 shell 和docker exec访问它来验证我的 sql server 正在运行。但它无法通过 codeigniter 访问

标签: mysqldockercodeigniterdocker-compose

解决方案


推荐阅读