您当前的位置:首页 > 电脑百科 > 程序开发 > 容器

将Php-fpm docker容器与Mongo DB docker容器连接

时间:2019-10-24 10:08:57  来源:  作者:

运行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代码。

有两种方法:

  1. 运行php / apache映像,并手动安装php-mongo
  2. 编写一个自定义Dockerfile,并准备映像以安装php-mongo依赖项。

1.运行php / apache映像,并手动安装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 9da60559db80
docker start 9da60559db80

2.准备docker映像,并完成上述步骤

转到:https : //github.com/GyanBlog/php-mongo-docker,然后构建您的映像。您将完成上述步骤。请享用。

测试您是否正确加载了mongo db扩展名。在/ var / www / html目录中准备一个phpfile,例如info.php,并放入以下内容:

<?php
print 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);
}
将Php-fpm docker容器与Mongo DB docker容器连接

 



Tags:Php-fpm docker   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
运行Mongo DB Docker容器?为MongoDb转到Docker。并且,选择要运行的mongo db映像。转到命令终端。类型:docker run -d --name my-mongo mongo:latest这将公开端口:默认情况下为27...【详细内容】
2019-10-24  Tags: Php-fpm docker  点击:(81)  评论:(0)  加入收藏
▌简易百科推荐
一、前因闲来没事,想着升级下树莓派中的应用,没曾想,全是最新的,害我以为被黑客眷顾,帮我升级了。多方查证,才知道,是上次搭建的photoprism搞的鬼,不过也不全是它的锅,只是它的yml文...【详细内容】
2021-12-28  闲余悟道    Tags:Docker   点击:(2)  评论:(0)  加入收藏
一、为什么要搭建主从架构呢1.数据安全,可以进行数据的备份。2.读写分离,大部分的业务系统来说都是读数据多,写数据少,当访问压力过大时,可以把读请求给到从服务器。从而缓解数据...【详细内容】
2021-12-15  实战Java    Tags:Docker   点击:(12)  评论:(0)  加入收藏
在网页中渲染公式一直是泛学术工具绕不开的一个功能,最近更新产品功能,正巧遇到了这个需求,于是使用容器方式简单实现了一个相对靠谱的公式渲染服务。分享出来,希望能够帮到有类...【详细内容】
2021-12-01  编程菌zfn    Tags:Docker   点击:(11)  评论:(0)  加入收藏
1.1 docker命令直接部署1.1.1 拉取镜像docker pull wurstmeister/zookeeperdocker pull wurstmeister/kafka1.1.2 启动zookeeper容器docker run -d --name myzookeeper -p 2...【详细内容】
2021-11-15  无    Tags:docker   点击:(48)  评论:(0)  加入收藏
01 前言 顺着docker的发展,很多测试的同学也已经在测试工作上使用docker作为环境基础去进行一些自动化测试,这篇文章主要讲述我们在docker中使用浏览器进行自动化测试如果可以...【详细内容】
2021-10-29  小码哥聊软件测试    Tags:Docker   点击:(42)  评论:(0)  加入收藏
因为你懂得的原因,下载docker镜像速度非常喜感,故收集几个国内常用的docker镜像。Docker中国区官方镜像地址:https://registry.docker-cn.com网易163的镜像http://hub-mirror.c...【详细内容】
2021-10-28  抓蛙程序猿    Tags:docker   点击:(48)  评论:(0)  加入收藏
环境:Spring5.3.10通常,应用程序开发人员不需要对ApplicationContext实现类进行子类化。相反,SpringIOC容器可以通过插入特殊集成接口的实现来扩展。使用BeanPostProcessor自定...【详细内容】
2021-10-26  Java网络研发架构师    Tags:Spring   点击:(34)  评论:(0)  加入收藏
我们在很多场景下都需要做笔记,来对抗遗忘,一份好的笔记不仅能在需要的时候供我们查阅,也能帮助我们归纳整理知识提高做事效率。 目前市面上有很多云笔记软件,体验上各有不同,但...【详细内容】
2021-10-11  运维贼船    Tags:docker   点击:(62)  评论:(0)  加入收藏
1. Nacos官网Nacos Docker 快速开始2. Clone 项目git clone https://github.com/nacos-group/nacos-docker.git3. cd 到nacos-docker 路径下 直接启动即可cd nacos-dockerdo...【详细内容】
2021-09-16  程序狗爱化妆    Tags:Nacos   点击:(109)  评论:(0)  加入收藏
今天不做保姆级教程,分享奶爸常用、好用的Docker应用。有了这些Docker,Nas的可玩性会大幅提高,有时候奶爸也在想,刨去官方套件不考虑的话,Nas真的是差不多。如果小伙伴们有需要,后...【详细内容】
2021-09-03  晋升奶爸的垃圾佬    Tags:Docker   点击:(169)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条