欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-11 12:42:27
...
我的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连接正确。