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

接续前面的步骤,现在,加入redis到docker-compose里。

compose下,新建data目录,下面再建redis目录。

然后,
compose / build 目录下,新建 redis 目录。

总之,就是新建一个数据保存的共享目录,和 构建用目录。

build / redis 目录下,写一个Dockerfile 文件。

引用

FROM redis:3.2

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


然后,修改
build / docker-compose.yml

引用

version: '3.2'
services:
  php-fpm:
    build: ./php/
    ports:
      - "9000:9000"
    links:
      - redis-db:redis-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   


修改:
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连接正确。";
		
class Sys
{
	
    /**
     * 得到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;
    }
}




现在 ,
进入 build 目录。
关闭所有的容器。docker stop 容器名,
删除所有的容器  docker rm 容器名

然后
删除以前的镜像
docker rmi build_php-fpm
docker rmi build_redis-db

然后,用docker-compose构建,然后启动
../bin/docker-compose build
../bin/docker-compose up -d

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

引用

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


额外注意到,此时,data / redis 目录里有了一个文件,这是linux产生的,却保存在共享目录里,windows下也能看到,很有意思的。













猜你喜欢

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