运行Mongo DB Docker容器?
为MongoDb转到Docker 。并且,选择要运行的mongo db映像 。
转到命令终端 。
类型:
docker run -d --name my-mongo mongo:latest这将公开端口:默认情况下为27017 。您可以通过安装Robo 3T(用于管理mongo db的软件)来连接到此mongo db实例 。
运行一个php docker容器
我将运行php5 / Apache容器 。
跑:
docker run -d -p 8020:80 --name php-apache php:5-apache注意:这将运行一个php容器,但是为了能够连接到mongo db容器,您需要将此容器链接到mongo db容器 。
docker run -d -p 8020:80 --link my-mongo --name php-mongo-test php:5-apache现在,您应该可以通过键入以下命令看到两个容器正在运行:“ docker ps”命令 。
安装Mongo Php连接器
您将需要mongo php库才能编写连接到mongo db的php代码 。
【将Php-fpm docker容器与Mongo DB docker容器连接】有两种方法:
- 运行php / apache映像,并手动安装php-mongo
- 编写一个自定义Dockerfile,并准备映像以安装php-mongo依赖项 。
通过输入以下命令来检查php容器的容器ID:
docker ps在该容器中打开一个shell / bash:(假设9da60559db80是我的容器ID)
docker exec -it 9da60559db80 bash现在,您进入了php容器的shell终端 。您将需要安装php-mongo依赖项 。
运行以下命令:
apt-get update apt-get install openssl libssl-dev libcurl4-openssl-dev pecl install mongo echo "extension=mongo.so" > /usr/local/etc/php/conf.d/mongo.ini在上述步骤中,我们基本上安装了mongo db连接器所需的一些依赖项,并安装了mongo db php扩展名,并将其包含在php.ini列表中 。
注意:Php容器加载/usr/local/etc/php/conf.d/目录中存在的所有ini文件
现在,您需要重新启动容器以加载mongo db扩展 。
重新启动容器:
docker stop 9da60559db80docker start 9da60559db802.准备docker映像,并完成上述步骤
转到:https : //github.com/GyanBlog/php-mongo-docker,然后构建您的映像 。您将完成上述步骤 。请享用 。
测试您是否正确加载了mongo db扩展名 。在/ var / www / html目录中准备一个phpfile,例如info.php,并放入以下内容:
<?phpprint phpinfo();在浏览器上,尝试:localhost:8082 / info.php
您应该看到一个大的html页面,其中显示php信息以及已安装的扩展名 。搜索mongo,它应该显示一些结果 。
运行连接到Mongo DB的PHP代码
<?php$connection = new MongoClient( "mongodb://my-mongo:27017" );$collection = $connection->selectCollection('db-name', 'collection-name');if (!$collection) { echo 'not connected to collection'; exit;}$cursor = $collection->find();foreach ($cursor as $doc) { var_dump($doc);}

文章插图
推荐阅读
- 一文看懂docker容器技术架构及其中的各个模块
- Nginx和php-fpm部署到不同的服务器
- 射击游戏|《喷射战士3》官方网站上线 将于今年夏天发售
- 时间 也能将杯茶变淡
- 已经开了的淘宝店铺可以注销吗 可以将淘宝企业店铺注销了重新开店吗
- 全国高速将统一限速!这些行为不再扣分罚款!
- 古代禅让皇位三辞 将三皇五帝合并成皇帝的是
- 吕布张角公孙瓒 袁绍吕布公孙瓒战法
- AMD|显卡价格10年涨4倍:终将暴跌!
- 厦门枪击案 厦门27岁女子被杀
