我的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连接正确。
分享到:
相关推荐
docker-compose php7.3.4-fpm+nginx+mysql配置
在IT行业中,Docker和docker-compose是现代应用程序部署的关键工具,尤其对于PHP开发而言,它们提供了灵活、可移植和隔离的运行环境。本教程将详细解释如何使用docker-compose搭建一个包含PHP 7.4(集成Swoole和...
docker-compose-nginx-phpfpm-源码.rar
docker-compose-php-fpm:带有docker compose的php多个版本
5. **扩展性**:如果需要增加更多服务,比如PHP-FPM或数据库服务,只需在`docker-compose.yml`文件中添加相应服务即可,docker-compose会自动处理它们之间的网络连接。 总的来说,使用docker-compose部署Nginx使得...
【标题】"docker-compose php+swoole构建包"是一个基于Docker Compose的解决方案,用于搭建PHP环境,并结合Swoole扩展,以提升PHP应用程序的性能。Docker Compose是Docker的一个工具,用于定义和运行多容器的Docker...
【标题】"docker-compose构建通用php+mysql+nginx包"涉及的是使用Docker Compose来搭建一个包含PHP、MySQL和Nginx的典型Web服务环境。这个环境是可复用和灵活的,适用于多种PHP应用。 【描述】描述中提到的“通用...
docker-wordpress-3 :单独的php-fpm和wordpress,需要自己提供wordpress源文件。安装克隆存储库或下载zip并解压缩。 $ git clone https://github.com/mzsea/docker-compose-wordpress-nginx.git用法在运行之前,您...
在IT行业中,Docker Compose是一个非常重要的工具,它允许我们通过一个`docker-compose.yml`文件来定义和运行多容器的应用。在这个场景中,我们讨论的是如何使用Docker Compose配置一个LNMT(Linux, Nginx, MySQL, ...
【标题】:“docker-laravel”项目是为Laravel 5应用程序构建的一个 Docker 化环境,它利用了 docker-compose 来管理Gulp、PHP-FPM、MySQL和nginx等服务。 【描述】:此项目的主要目标是简化Laravel 5开发过程中的...
docker-撰写PHP-FPM和MYSQL 使PHP-FPM容器与Nginx一起使用的示例配置。 增加虚拟内存区域 sudo sysctl -w vm.max_map_count=262144 二手软件 配置主机(添加的行完成文件) Patch Linux: etc/hosts Patch ...
Docker-compose安装程序以运行Laravel应用程序可用的容器PHP-FPM 8(本地主机:8100,应用程序) NGINX MySQL 5.7 phpMyAdmin(localhost:8200) Redis的6 MailHog(本地主机:8025)如何使用它?步骤1 克隆此仓库...
适用于Pimcore 5和Pimcore 6的Docker-Compose 用于Pimcore 5和Pimcore 6的简单而简单的Docker-Compose配置。 Docker-Compose由以下图像组成: 雷迪斯 MariaDB 10.4 httpd(Apache 2.4)和PHP-FPM,以及PHP7.2和...
Nginx、PHP FPM、MariaDB 和 Memcache 以及基于Docker Compose 要求 安装和 开始 docker-compose up -d 基于 docker-compose.yml 构建、(重新)创建、启动和附加到容器。 要看到它的工作: 用于 PHP FPM 提供的 ...
Docker撰写Nginx PHP-FPM
什么是PHP-FPM? PHP-FPM(FastCGI流程管理器)是另一种PHP FastCGI实现,具有一些其他功能,可用于各种规模的站点... DR $ docker run -it --name phpfpm -v /path/to/app:/app bitnami/php-fpmDocker撰写$ curl -sSL ...
这是用于使用docker-compose工具将Symfony 5运行到Docker容器中的完整堆栈。 它由3个容器组成: nginx ,充当网络服务器。 php ,带有7.4 PHPversionPHP-FPM容器。 db是具有MySQL 8.0映像MySQL数据库容器。 安装...
Compose 是 Docker 的一个工具,用于定义和运行多容器 Docker 应用程序。它允许用户使用 YAML 文件来定义服务、网络和卷,然后使用这些定义来创建和管理容器。Compose 的主要特点是可以使用现有的镜像来配置和部署...
Docker Compose Web堆栈 基于Docker映像,构建为快速,小型和可扩展的Web堆栈。 叠放 Web堆栈由以下容器组成: 容器 版本号 服务名称 图片 默认启用 PHP-FPM php-7,php-5 php-fpm [akhomy / alpine-php_fpm] ...
docker-compose-LNMP Docker结合最新的php-fpm,nginx,redis,memcached,mariadb和git,nodejs,yarn等常用工具 此仓库与和相关联 如果您正在寻找LNMongoP,请转到 php-fpm 有关更多信息,请访问 Nginx的 有关更...