Skip to main content
 Web开发网 » 站长学院 » Thinkphp教程

Docker部署PHP+Vue项目

2021年11月14日6630百度已收录

Docker部署PHP+Vue项目  thinkphp提速 第1张

本文将介绍如何使用docker镜像 快速部署 php+vue 项目.文末提供源码地址

本地创建Docker映射目录—— vue_demo # Demo项目—— php_vue—— docker-compose.yaml—— nginx———— apps # 项目代码———— conf # nginx配置文件—————— nginx.conf———— log # nginx———— vhost # 虚拟机配置目录—————— default.conf创建docker-compose.yamlversion : "3" #docker-compose的版本services: #容器的集合 mysql: #项目名称 image: mysql:5.7 #镜像名称,如果是通过dockerfile创建的可以使用build属性 container_name: mysql #容器名称,如果没有这个属性的话,docker-compose会随机分配一个名字给容器 privileged: true #允许操作的表示,如果不加的话会出现类似,permission deny的错误 ports: - 3307:3306 #开放宿主机和容器的映射端口 environment: MYSQL_ROOT_PASSWORD: root #mysql镜像中的环境变量 php: image: php:7.2-fpm container_name: php privileged: true ports: - 9001:9000 links: - mysql #容器之间进行关联 volumes: - ./nginx/apps:/usr/share/nginx/html #挂载卷,需要注意的是,php在以模块的形式加载到nginx的时候,需要他们两个的目录结构一致,否则nginx无法加载php,但是 html等静态问价可以正常访问。 nginx: image: nginx container_name: nginx privileged: true links: - php ports: - 8088:80 volumes: - ./nginx/vhost:/

创建前端项目使用vue create vue_demo或vue ui创建项目vue_demo

Docker部署PHP+Vue项目  thinkphp提速 第2张

vue 创建项目

打包项目cd vue_demo && npm run build,复制 dist文件夹到 php_vue/nginx/apps下

Docker部署PHP+Vue项目  thinkphp提速 第3张

vue 项目打包

测试 curl localhost:9099 返回html代码

创建php文件<?phpecho 'hello Docker';测试 curl localhost:8088 返回 hello Docker

过程中的疑难杂症image拉取速度过慢

解决方法 - 修改仓库源

创建、修改 /etc/docker/daemon.json 文件,修改为如下形式

vi /etc/docker/daemon.json # 编辑daemon.json { "registry-mirrors": ["服务国内加速地址有:

Docker中国区官方镜像|

docker 创建 iptables链 报错

… iptables --wait -t nat -I DOCKER -i br-d38d92300109 -j RETURN:iptables: No chain/target/match by that name.

docker 服务启动的时候,docker服务会向iptables注册一个链,以便让docker服务管理的containner所暴露的端口之间进行通信

通过命令 iptables -L 可以查看iptables链

在开发环境中,如果你删除了iptables中的docker链,或者iptables的规则被丢失了(例如重启firewalld),docker就会报iptables error例如:failed programming external connectivity … iptables: No chain/target/match by that name

要解决这个问题,只要 重启docker服务,之后,正确的iptables规则就会被创建出来

项目源码

不足 & 后续跟进

上述部署还是不够快,正确打开方式应该是创建自己centos项目镜像项目代码迭代还可以更自动一点

评论列表暂无评论
发表评论
微信