docker-compose 构建php72-fpm从零起步(2)
程序员文章站
2022-06-11 12:47:03
...
我的docker-compose学习系列文章
docker-compose 构建php72-fpm从零起步(1)
docker-compose 构建php72-fpm从零起步(2)
docker-compose 构建php72-fpm从零起步(3)
本文的目的:加入redis
接续前面的步骤,现在,加入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
现在 ,
进入 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下也能看到,很有意思的。
docker-compose 构建php72-fpm从零起步(1)
docker-compose 构建php72-fpm从零起步(2)
docker-compose 构建php72-fpm从零起步(3)
本文的目的:加入redis
接续前面的步骤,现在,加入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下也能看到,很有意思的。