mysql - 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 访问
解决方案
推荐阅读
- java - Spring Security:谁将 AuthenticationManagerBuilder 传递给 WebSecurityConfigurerAdapter 配置方法?
- jquery - 点击时带href的跨度
- jquery - Django 数据表服务器端处理与 djang 模板引擎有问题
- python - 在 python 中查找 NLTK 模块
- python - Python GC 内存压缩
- node.js - 速率限制 - TCP 服务器 (net.Server)
- xcode - SCNView 导出的 Collada (.dae) 文件看起来不同,无法导入到 Blender
- python - 保存空列表时python搁置错误
- z3 - z3py 中函数“from_file()”的问题
- haskell - 在 Visual Studio Code 的 Haskell 中找不到模块“Crypto.Hash.SHA1”