php取当天的最后一秒_Docker快速搭建PHP开发环境详细教程
多环境部署:在单一服务器上可以运行多个独立的环境,节省资源利用率。 环境一致性:每个容器都有固定的环境配置,方便开发、测试和部署。 快速部署:通过容器镜像快速启动应用程序,无需重复配置环境。
安装 Docker使用以下命令安装 Docker: 验证安装查看 Docker 版本: 配置镜像加速为提高镜像下载速度,编辑
拉取 PHP-FPM 镜像下载 PHP 7.0 的 FPM 镜像: 运行 PHP-FPM 容器创建并运行 PHP-FPM 容器:
进入 PHP-FPM 容器 安装 PDO 扩展执行以下命令安装 PDO_MYSQL 扩展: 验证安装查看已安装的 PHP 模块:
下载 Redis 源包下载最新版本的 Redis PHP 扩展包: 解压并安装 安装 Redis 扩展
容器一致性:每次部署前,确保所有容器都从最新镜像拉取。 容器日志管理:定期清理旧容器和日志,避免占用过多存储空间。 环境安全:谨慎设置容器内的系统用户和密码,确保环境安全。
发布日期:2025-05-04 04:25:20
浏览次数:8
分类:精选文章
本文共 2845 字,大约阅读时间需要 9 分钟。
Docker 安装与配置实践指南
作为一名Web开发程序员,Docker技术无疑是你必须掌握的核心技能之一。Docker是一个开源的应用容器引擎,允许开发者将应用程序及依赖打包为可移植的容器,便于在任何支持Linux的服务器上运行。容器采用沙箱机制,确保各容器之间完全隔离,不会互相影响。
Docker 的核心优势
接下来,我们将按照Docker标准,基于LAMP架构(Linux、Apache、MySQL、PHP/CGI、Perl/Python、Ruby)搭建一个PHP运行环境。
安装 Docker
yum install docker
docker --version
daemon.json 文件:vim /etc/docker/daemon.json
添加镜像源:
{"registry-mirrors":["http://hub-mirror.c.163.com"]}Docker 安装 MySQL
拉取 MySQL 镜像
从镜像库下载 MySQL 5.6 版本:docker pull mysql:5.6
启动 MySQL 容器
创建并运行 MySQL 容器:docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456abc --name mysql_1 mysql:5.6
-d:让容器在后台运行。-p 3306:3306:将容器内的 MySQL 端口 3306 映射到主机的 3306 端口。-e MYSQL_ROOT_PASSWORD:设置 MySQL 根用户密码。
查看容器状态
查看容器运行状态:docker ps -a
也可以查看容器日志:
docker logs -f --tail=10 mysql_1
进入 MySQL 容器
进入容器并配置用户:docker exec -ti mysql_1 /bin/bash
-t:创建一个伪终端。-i:允许交互式输入。
安装 PHP-FPM
docker pull php:7.0-fpm
docker run -d -v /var/nginx/www/html:/usr/share/nginx/html -p 9000:9000 --link mysql_1:mysql --name abc_phpfpm php:7.0-fpm
-v:将主机目录/var/nginx/www/html与容器目录/usr/share/nginx/html同步。--link:与 MySQL 容器建立连接,确保 PHP-FPM 能够访问 MySQL。
安装 PDO 扩展
docker exec -it abc_phpfpm /bin/bash
docker-php-ext-install pdo_mysql
php -m
可能会显示 pdo_mysql 说明安装成功。
安装 Redis 扩展
curl -L -o /tmp/redis.tar.gz https://github.com/phpredis/phpredis/archive/3.1.3.tar.gz
tar xfz /tmp/redis.tar.gzrm -r /tmp/redis.tar.gzmkdir -p /usr/src/php/ext/mv phpredis-3.1.3 /usr/src/php/ext/redis
docker-php-ext-install redis
安装 Nginx
拉取 Nginx 镜像
下载 Nginx 1.10.3 版本:docker pull nginx:1.10.3
运行 Nginx 容器
创建并运行 Nginx 容器:docker run -d -p 80:80 -p 443:443 -v /var/nginx/www/html:/usr/share/nginx/html --link abc_phpfpm:phpfpm --name nginx_1 nginx:1.10.3
-p 80:80和-p 443:443:将 Nginx 的标准端口 80 和 443 映射到主机。--link:与 PHP-FPM 容器建立连接,确保 Nginx 能够正确反向代理请求。
配置 Nginx
打开默认配置文件/etc/nginx/conf.d/default.conf,添加以下内容:location ~ .+.php($|/) { set $script $uri; set $path_info ""; if ($uri ~ "^(.+.php)(/.+)") { set $script $1; set $path_info $2; } root /usr/share/nginx/html; fastcgi_pass phpfpm:9000; fastcgi_index index.php?IF_REWRITE=1; fastcgi_param PATH_INFO $path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $script; include fastcgi_params;}测试访问
创建/var/nginx/www/html/index.php 文件,并访问服务器检查是否正常运行:curl http://localhost
注意事项
通过以上步骤,你已经成功搭建了一个基于 Docker 的 LAMP 架构运行环境。如有问题,可以在评论区留言,我会尽力为你解答!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2026年06月07日 00时46分09秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
rabbitmq guestguest用户不能远程登录
2023-03-01
php异常处理
2023-03-01
PHP引入了泛型和集合两大重要特性,大大改善 PHP 代码的可维护性和可读性
2023-03-01
PHP引擎php.ini参数优化
2023-03-01
PHP引用(&)使用详解
2023-03-01
php引用及垃圾回收
2023-03-01
php当前时间的集中写法
2023-03-01
php微信 开发笔记,微信WebApp开发总结笔记
2023-03-01
php微信公众号开发access_token获取
2023-03-01
php微信公众号开发微信认证开发者
2023-03-01
php微信公众号开发用户基本信息
2023-03-01
php怎么将对象变成数组,php怎么将对象转换成数组
2023-03-01
RabbitMQ - 消息堆积问题的最佳解决方案?惰性队列
2023-03-01
php怎样比较两数大小,jquery如何判断两个数值的大小
2023-03-01
PHP性能监控 - 开启xhprof(一)
2023-03-01
PHP性能监控 - 怎么看xhprof报告(二)
2023-03-01
php截取字符串代码,PHP字符串截取_php
2023-03-01
php截取字符串,无乱码
2023-03-01
php手冊,php手冊之變量范圍
2023-03-01