当前位置: 首页 > 编程笔记 >

基于Docker的PHP调用基于Docker的Mysql数据库

谢学名
2023-03-14
本文向大家介绍基于Docker的PHP调用基于Docker的Mysql数据库,包括了基于Docker的PHP调用基于Docker的Mysql数据库的使用技巧和注意事项,需要的朋友参考一下

docker简介:

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

自从接触docker以来,一直想实现这种玩法。如下是步骤

1:建立基于docker的mysql,参考文章

Mac上将brew安装的MySql改用Docker执行

2:建立基于docker的php image

在当前目录,建立Dockerfile,内容如下

FROM php:7.0-cli
MAINTAINER Terry Zhang <zterry@qq.com>
RUN docker-php-ext-install pdo_mysql mysqli

3.建立php镜像

docker build -t php-mysql

4. 编写php脚本,可以从mysql数据库读取数据:

<?php
$host = 'mysql';
$user = 'root';
$pwd = 'password';
$db = 'test';
$mysqli = new mysqli($host, $user, $pwd, $db);
if ($mysqli->connect_errno) {
echo "Errno: " . $mysqli->connect_errno . "\n";
}
$sql = 'SELECT * FROM users';
if ($res = $mysqli->query($sql)) {
while ($row = $res->fetch_assoc()) {
print_r($row);
}
}
?>

5. 执行php的容器,参数如下:

bash docker run -it --rm -v (pwd):/var --link my-mysql-server1:mysql php-mysql:latest php /var/mysql.php

需要注意的地方是--link参数,这里调用的是名为my-mysql-server1的容器,其在php容器中的host为mysql。可以通过如下命令进行验证:

docker run -it --rm php-mysql ping mysql

以上所述是小编给大家介绍的基于Docker的PHP调用基于Docker的Mysql数据库,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!

 类似资料:
  • 问题 我有一组客户端计算机,它们是企业web应用程序的一部分。每台机器运行相同的软件,这是一个连接到服务器的基于PYQT的web客户端。这个客户端软件是定期更新的,我希望有一些配置/供应工具,允许在每台机器上有相同的环境,从而提供软件在每个客户端机器上的轻松部署和配置。 是否可以使用Docker为基于GUI的应用程序(PyQt/Qt)提供开发/生产环境?如果是的话,要实现这一目标的第一步是什么?

  • 本文向大家介绍基于 Docker 开发 NodeJS 应用,包括了基于 Docker 开发 NodeJS 应用的使用技巧和注意事项,需要的朋友参考一下 有关这个 Node 应用 此应用包含一个 package.json, server.js 以及一个 .gitignore 文件, 它们简单到可以信手拈来. .gitignore package.json server.js server.js 会拉

  • 问题内容: 我是python的新手,目前正在使用它。我有一个脚本,对设备执行一些API调用。我想扩展功能并根据调用脚本时给出的参数调用不同的函数。 目前,我有以下内容: 我也有一个 和 如何基于给定的参数调用函数(并且仅此函数)?我不想跑步 因为我想在以后将主要可执行文件保持整洁的同时将不同功能移至模块。 问题答案: 由于您似乎想根据给定的参数运行一个函数,并且仅运行一个函数,因此建议您使用强制性

  • 我的一个模块项目中有一个考勤系统,使用PHP和MySQL,MySQL表如下所示: 现在,时间表被用来存储一天中某一段的类时间表,以及分配给哪位老师。student_info表包含有关学生及其所属部分的一般信息。attendancetable用于记录缺勤人员,使用时间和学生id作为主键。 我可以得到一个学期有多少类被录取的统计如下: 然后计算一个学生参加的次数,也计算出勤率。 现在,我还想显示一种考

  • 本文向大家介绍基于docker搭建redis集群的方法,包括了基于docker搭建redis集群的方法的使用技巧和注意事项,需要的朋友参考一下 下载redis镜像 取别名  删除原先的镜像标签 启动6个节点的redis容器  注意网络用的是net1  创建的容器默认是没有启动,所以需要一个一个启动 进入任意一个容器例如r1  然后利用ruby脚本启动集群 输入yes即可创建成功,执行脚本时终端输出

  • 我从openjdk:8-jdk-alpine创建了一个docker映像,但当我尝试执行简单命令时,会出现以下错误: