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文件
修改 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
进入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连接正确。
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连接正确。