基于docker的php调用基于docker的mysql数据库

   2016-11-07 0
核心提示:自从接触docker以来,一直想实现这种玩法。如下是步骤1:建立基于docker的mysql,参考文章Mac上将brew安装的MySql改用Docker执行2:建立基于docker的php image在当前目录,建立Dockerfile,内容如下FROM php:7.0-cliMAINTAINER Terry Zhang zterry@qq.comRUN d

自从接触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 MySQL
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • Docker windows下安装并搭建Nodejs的webapp
    Docker windows下安装并搭建Nodejs的webapp
    一、关于Docker什么是Docker?Docker 采用go语言编写,是一个开源的应用容器引擎。让开发者可以快速打包他们的应用以及依赖包到一个封装的可移植的容器Image中,然后发布到任何流行的机器( Linux ,windows,Mac等)上,也可以实现虚拟化。容器是使用完全
    02-09
  • Docker-用LaraDock搭建PHP环境 docker搭建php开
    简介LaraDock 致力于简化创建开发环境过程,能够帮助我们在 Docker 上快速搭建 PHP 开发环境。 它预装了 Docker 镜像,为我们提供了一站式的开发环境,而不需要再去在本地机器安装 PHP、Nginx、MySQL 以及其他很多开发过程中需要的软件。特点:在 PHP 版本:7
    02-09
  • WASM 之 Rust 开发(Windows Docker环境)
    WASM 之 Rust 开发(Windows Docker环境)
    环境活动: 学 Rust,免费拿树莓派+Rust 官方文档Windows10 ProDocker (开启 WSL2 Feature 及 Hyper-V 虚拟层)基于Rust的wasm项目开发模板 https://github.com/second-state/ssvm-nodejs-starter/VSCode 及其 Rust 插件另外可以考虑加上 Remote-Docker 插件测
    02-09
  • Docker安装ruby2.1 docker安装青龙面板
    # sudo apt-get install Python-software-properties# sudo apt-add-repository ppa:brightbox/ruby-ng# sudo apt-get update# sudo apt-get install ruby2.1 ruby2.1-dev 解决方案:apt-get install python-software-properties apt-get install software-p
    02-09
  • Docker windows下安装,入门及注意事项,并搭建包含Nodejs的webapp
    Docker windows下安装,入门及注意事项,并搭建
        一、关于Docker什么是Docker?Docker 采用go语言编写,是一个开源的应用容器引擎。让开发者可以快速打包他们的应用以及依赖包到一个封装的可移植的容器Image中,然后发布到任何流行的机器( Linux ,windows,Mac等)上,也可以实现虚拟化。容器是
    02-09
  • Selenium4+Python3系列(十三) - 与docker中的
    前言文章更新到这一篇时,其实我还是很开心的,因为这也正是这系列教程的最后一篇文章,也算是完成了一个阶段性的小目标,也很感谢那些愿意看我文章与我交流学习的同学,感谢有你们的支持和陪伴。Jenkins的下载安装1、拉取镜像:笔者是Mac系统,为了方便就直
    02-09
  • [Go语言]从Docker源码学习Go——指针和Structs
    这两天在看reflect这个包在Docker中的使用时,遇到了各种问题,最后虽然知道怎么用了。但是对于这块的原理还不是太懂,于是把"THE WAY TO GO"中关键的几章看了下。继续坚持往下写,争取能说明白。源码还是先看Docker中源码, docker/api/client/cli.gotype Doc
    02-09
  • /usr/bin/docker-current: Error response from
    docker创建容器时报错如下:containerd: start container” error=“oci runtime error: container_linux.go:247: starting container process caused “process_linux.go:245: running exec setns process for init caused \“exit status 17\””\n”答:这
    02-09
  • 【Docker】使用Docker Client和Docker Go SDK为
    目录背景使用 Docker Client 调用 GPU依赖安装安装 Docker安装 NVIDIA Container Toolkit¶--gpus 用法使用 Docker Go SDK 为容器分配 GPU使用 NVIDIA/go-nvml 获取 GPU 信息使用 Docker Go SDK 为容器分配 GPU背景深度学习的环境配置通常是一项比较麻烦的工
    02-09
  • docker报错 ERROR: Service 'workspace�
    在 Windows 系统中使用 Laradock 搭建基于 Docker 的 PHP 开发环境执行命令 docker-compose up nginx mysql redis执行过程中出现错误报 laradock ERROR: Service ‘workspace’ failed to build:报 docker ERROR: Service 'php-fpm' failed to build:解决方案
    02-09
点击排行