docker-compose 构建php72-fpm从零起步(3)

我的docker-compose学习系列文章
docker-compose 构建php72-fpm从零起步(1)
docker-compose 构建php72-fpm从零起步(2)
docker-compose 构建php72-fpm从零起步(3)

本文的目的是:加入Mysql5.7

data 目录下新加 mysql

然后,新建build / mysql 目录。
新建 Dockerfile文件
FROM mysql:5.7

# set timezome
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone


修改 build / dcoker-compose.yml
引用

version: '3.2'
services:
  php-fpm:
    build: ./php/
    ports:
      - "9000:9000"
    links:
      - redis-db:redis-db
      - mysql-db:mysql-db
    restart: always
    volumes:
      - ../app:/data/www:rw

  nginx:
    build: ./nginx
    depends_on:
      - php-fpm
    links:
      - php-fpm:php-fpm
    volumes:
      - ../app:/data/www:rw
      - ./nginx/conf.d:/etc/nginx/conf.d:ro
    ports:
      - "80:80"
    restart: always
    command: nginx -g 'daemon off;'

  redis-db:
      build: ./redis
      ports:
        - "6379:6379"
      volumes:
        - ../data/redis:/data
      restart: always 

  mysql-db:
      build: ./mysql
      ports:
        - "3306:3306"
      volumes:
        - ../data/mysql:/var/lib/mysql:rw
        - ./mysql/conf.d:/etc/mysql/conf.d:ro
      environment:
        MYSQL_ROOT_PASSWORD: 123456
        MYSQL_DATABASE: test1
        MYSQL_USER: test1user
        MYSQL_PASSWORD: test1user123
      restart: always
      command: "--character-set-server=utf8"



修改 app / 1.php
<?php
header("Content-type: text/html; charset=utf-8");
$redis = Sys::getredis();
$redis->set('aa',1234);
echo $redis->get('aa');
echo "<br>上面一行显示1234,表示redis连接正确。<br><br>";
		
$sql='select version(),FROM_UNIXTIME(UNIX_TIMESTAMP() )';
$db = Sys::getdb();
$dbresult = $db->query($sql)->fetch_all(MYSQLI_ASSOC);
var_dump($dbresult);
echo "<br>上面一行显示mysql服务器的版本和当前时间,表示mysql连接正确。";
		
class Sys
{
	private $mysqli; 
    /**
     * 得到redis
     * @return \Redis
     */
    public static function getredis()
    {
        static $redis = null;
        if ($redis == null) {
            $redis = new \Redis();
            $redis->connect('build_redis-db_1','6379');
            
        }
        return $redis;
    }
	
	 // $db 是数据库连接,需修改使用。第2处修改。  
    // // 这里设置主机名,用户名,密码  
    public static function getdb()  
    {  
        $mysqli = new mysqli('build_mysql-db_1', 'root', '123456', 'test1');  
        $sql="set names utf8";  
        $mysqli->query($sql);  
        return $mysqli;  
    }  
	
}


进入build 目录。
清除已有容器,

构建时,因为下载镜像的原因,速度会慢
../bin/docker-compose build
../bin/docker-compose up -d

打开浏览器:
http://192.168.99.100/1.php

引用

1234
上面一行显示1234,表示redis连接正确。

array(1) { [0]=> array(2) { ["version()"]=> string(6) "5.7.22" ["FROM_UNIXTIME(UNIX_TIMESTAMP() )"]=> string(19) "2018-08-31 12:04:10" } }
上面一行显示mysql服务器的版本和当前时间,表示mysql连接正确。






猜你喜欢

转载自xieye.iteye.com/blog/2429815