当前位置: 首页 > news >正文

国家住房和城乡建设部官方网站大多数网站开发现状

国家住房和城乡建设部官方网站,大多数网站开发现状,网站 aspx 模板,事业单位可以建设网站吗在前几篇文档中,我们已经系统学习了 Docker 的核心概念(如容器、镜像、Docker 引擎等),并通过hello-world容器完成了第一次实战操作。当基础认知与入门实践相结合后,接下来我们可以尝试更贴近实际开发的场景 —— 利用…

在前几篇文档中,我们已经系统学习了 Docker 的核心概念(如容器、镜像、Docker 引擎等),并通过hello-world容器完成了第一次实战操作。当基础认知与入门实践相结合后,接下来我们可以尝试更贴近实际开发的场景 —— 利用 Docker 搭建 ThinkPHP 8.1 开发环境。

一、核心准备工作​

(一)验证 Docker 环境​

确保 Docker 已正确安装并运行,在 PowerShell 或命令提示符(CMD) 中执行以下命令验证:​

docker --version  # 查看Docker版本
docker-compose --version  # 查看Docker Compose版本

若如下图返回版本信息,说明环境就绪。​

二、搭建步骤详解​

(一)创建项目目录及 ThinkPHP 8.1 项目​

首先创建项目根目录并在其中生成 ThinkPHP 8.1 项目,步骤如下:​

1、创建项目根目录:​

在 Windows 中选择一个目录(如 E:\docker_dev\thinkphp-docker),作为项目根目录。​

2、创建 ThinkPHP 8.1 项目
方式一:通过 Docker Composer 镜像直接创建(无需进入容器):​
docker run --rm -v "${PWD}:/app" composer create-project topthink/think:8.1.* myweb​
​
# 若使用CMD,将${PWD}替换为%cd%​
# docker run --rm -v "%cd%:/app" composer create-project topthink/think:8.1.* myweb

命令解析:--rm表示容器运行后自动删除;-v "${PWD}:/app"(PowerShell)或-v "%cd%:/app"(CMD)将当前目录挂载到容器的/app目录;composer是官方镜像,直接创建项目到myweb目录。 

方式二:本地创建(需本地安装 Composer):​
composer create-project topthink/think:8.1.* myweb
方式三:容器内创建(无需本地安装 Composer):​
# 临时启动PHP容器并进入(PowerShell命令)
docker run --rm -it -v "${PWD}:/app" php:8.1-fpm /bin/bash# 若使用CMD,将${PWD}替换为%cd%
# docker run --rm -it -v "%cd%:/app" php:8.1-fpm /bin/bash# 在容器内安装Composer
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer# 进入挂载目录并创建项目
cd /app && composer create-project topthink/think:8.1.* myweb# 退出容器
exit

此时项目目录结构已自动生成:​

thinkphp-docker/

└── myweb/ # 已创建的ThinkPHP 8.1项目代码目录

(二)编写 Docker Compose 配置​

在项目根目录(thinkphp-docker)创建docker-compose.yml,内容如下(Windows 环境无需修改路径格式,Docker 会自动适配):​

version: '3'
services:php:image: php:8.1-fpmvolumes:- ./myweb:/var/www/html  # 挂载本地项目到容器depends_on:- mysql  # 依赖mysql服务,确保先启动数据库nginx:image: nginx:latestports:- "80:80"  # 端口映射:宿主机80端口→容器80端口volumes:- ./myweb:/var/www/html  # 共享项目目录- ./nginx.conf:/etc/nginx/conf.d/thinkphp.conf  # 挂载Nginx配置depends_on:- php  # 依赖php服务mysql:image: mysql:8.0ports:- "3306:3306"  # 映射数据库端口environment:MYSQL_ROOT_PASSWORD: root  # 数据库root密码MYSQL_DATABASE: thinkphp  # 自动创建的数据库名MYSQL_CHARACTER_SET_SERVER: utf8mb4MYSQL_COLLATION_SERVER: utf8mb4_unicode_civolumes:- mysql_data:/var/lib/mysql  # 数据卷持久化存储数据volumes:mysql_data:  # 定义数据卷,防止容器删除丢失数据

关键配置解释:​

  • Windows 中./myweb等路径会被 Docker 自动转换为容器可识别的格式,无需手动修改为\​
  • mysql_data数据卷:在 Windows 上同样能确保数据持久化,不受容器删除影响​

(三)配置 Nginx 服务​

在项目根目录(thinkphp-docker)创建nginx.conf,内容如下:​

server {listen 80;server_name localhost;root /var/www/html/public;  # ThinkPHP 8.1入口目录(必须指向public)index index.php index.html;# URL重写支持(ThinkPHP的PATH_INFO模式)location / {if (!-e $request_filename) {rewrite  ^(.*)$  /index.php?s=$1  last;}}# PHP脚本解析location ~ \.php$ {fastcgi_pass php:9000;  # 连接php容器的9000端口fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}
}

此时项目完整目录结构为:​

thinkphp-docker/​

├── docker-compose.yml # 容器编排配置​

├── nginx.conf # Nginx站点配置​

└── myweb/ # ThinkPHP 8.1项目代码目录​

(四)启动容器集群​

在项目根目录执行以下命令启动所有服务:​

docker-compose up -d # -d参数表示后台运行​

执行该命令时,Docker 会自动检查本地是否存在所需镜像,若不存在则自动从 Docker Hub 拉取,只需等待拉取完成即可。​

如果本地不存在所需的镜像就需要多等待一会,具体如下图:

 成功后的页面:

查看容器状态:​

docker-compose ps # 显示所有服务的运行状态​
  • 状态为Up表示启动成功​
  • 若出现Exit状态,可通过docker-compose logs [服务名]查看错误日志​

(五)安装 PHP 必要扩展​

ThinkPHP 8.1 运行依赖pdo_mysql、mbstring等扩展,需进入 PHP 容器安装(Windows 终端操作):​

# 查看PHP容器名称(PowerShell/CMD通用)
docker ps --format "{{.Names}}" | findstr "php"# 示例输出:thinkphp-docker_php_1# 进入php容器(替换[容器名]为实际名称)
docker exec -it [容器名] /bin/bash# 若提示bash: not found,改用sh
# docker exec -it [容器名] /bin/sh# 安装扩展
docker-php-ext-install pdo_mysql mbstring# 退出容器
exit# 重启php容器使扩展生效
docker restart [容器名]

(六)环境测试与配置调整​

1、在浏览器访问http://localhost,出现 ThinkPHP 8.1 欢迎页即表示环境搭建成功​(我是修改过端口号的,所以我的地址是http://localhost:8080)

2、修改数据库配置(myweb/config/database.php):​

return ['type'     => 'mysql','hostname' => 'mysql',  # 数据库主机名填容器名'database' => 'thinkphp','username' => 'root','password' => 'root','hostport' => '3306','charset'  => 'utf8mb4',  # 与MySQL字符集保持一致
];

​数据库主机名使用mysql(容器名),利用 Docker 内部网络通信​

数据库主机名docker-compose.yml 的 services 下给 MySQL 服务起的名字

三、Windows 环境注意事项​

1、路径与终端差异:​

  • PowerShell 中使用${PWD}表示当前目录,CMD 中使用%cd%​
  • 避免在路径中使用中文或空格,可能导致挂载失败​
  • 推荐使用 PowerShell(管理员模式)执行命令,兼容性更好​

2、端口冲突:​

ports:

- "8080:80" # 宿主机8080端口映射到容器80端口

若 80 或 3306 端口被占用(如 IIS、其他数据库),需修改docker-compose.yml中的端口映射,例如:​

3、权限问题:​

  • Windows 系统无需执行chmod命令,文件权限由系统自动管理​
  • 若出现权限错误,右键项目目录→“属性”→“安全”,确保当前用户有读写权限​

通过以上适配 Windows 系统的步骤,可快速搭建标准化的 ThinkPHP 8.1 开发环境,有效解决多环境一致性问题。熟练掌握后,可根据实际需求扩展更多服务。​

参考文章:

Docker 初学者需要了解的几个知识点 (五):建容器需要进一步了解的概念(1)-CSDN博客

Docker 初学者需要了解的几个知识点 (六):docker-compose.yml (ThinkPHP)-CSDN博客

Docker 初学者需要了解的几个知识点 (七):php.ini -CSDN博客

http://www.dtcms.com/a/551472.html

相关文章:

  • 做的网站访问速度慢做设计的软件
  • 企业网站标题如何设置南沙企业网站建设
  • 自己想开个网站怎么弄灰色风格的网站
  • Openvins学习---ov_msckf中的State
  • 微盟网站模板网站一般在哪里找
  • 西安做网站电话网店托管代运营公司
  • 网站制作模板教案wordpress 页面标签
  • 网站设计素材图片医疗类网站建设
  • 一键建设网站无线网被附近多个
  • 网站建设配置文件无法粘贴网页设计与制作思政教学设计
  • 网页和网站做哪个好用中国做本地服务好的网站
  • 58网站模板所有外包网站
  • 淘宝购物返利网站建设app长沙关键词优化推荐
  • 网站开发系统流程图wordpress php代码
  • 免费网站商城建设wordpress 转换app
  • 高端营销型网站建设如何用flash做网站
  • 到哪个网站做任务简单安卓app开发
  • 域名怎么做网站郑州服装设计公司
  • 建设网站的风险管理网站推广的目标是什么
  • fqapps com网站怎么做智能家居产品设计案例
  • 用asp做网站需要准备什么软件wordpress 中文网站
  • 新手学做网站百度云淄博周村学校网站建设报价
  • 网站建设 开发工具 python网站开发和手机开发哪个好
  • 关于百度网站的优缺点wordpress 引用页面
  • 无锡2019网站建设报价清单wordpress divi
  • 齐河网站建设价格网页开发培训
  • 专业网站建设需要多少钱nas搭建wordpress博客网站
  • 1个服务器可以做多少个网站郑州网站建设详细内容推荐
  • 绘制网站结构图如何注册域名及网站
  • 做网站制作外包公司网站表达的内容