php直接访问MySQL容器,docker容器php-fpm 访问容器 mysql,报:网页无法成功运行

因为换工作,这周休息在家。想利用空余时间,把discuz论坛迁移到docker中。其中遇到一个问题:php-fpm私活不能访问数据库。而且没有日志,页面仅报:网页无法成功运行。网上查了好多资料,有说:php-fpm 使用www-data用户运行,权限不够;有说: 容器之间网络问题。由于没有日志文件,所有很难确定原因。经过3-4天的研究,今天突然看到一个帖子,提示:docker官方的php镜像好多扩展模块没有打进去。我想会不会是mysql模块没有打进到php镜像中呢?带着疑问,搜索了另一个镜像:devilbox/php-fpm;此镜像把一些常用的动态扩展模块,如:mysql,redis 都进行了打包。废话少说:上码:

1.下载镜像

docker pull devilbox/php-fpm:5.6-prod

2.创建容器:

测试1(使用mysqllink)

docker run -d --name php -p 9000:9000 \

-e "DOCKER_LOGS=1" \

-v $PWD/www1:/var/www/default/htdocs \

-v $PWD/logs:/var/log/php \

--link mysql_3306:db devilbox/php-fpm:5.6-prod

3.测试页面:testdb.php

php-fpm 和 nginx 的容器通信,不在此文章讨论范围,请自行百度;

4.经过访问:http://bbs.i5i5.top/testdb.php (需要访问自己的php页面)

结果访问成功,最终问题解决。

问题原因:官方php 镜像没有包含mysql扩展包!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值