docker部署web项目需要用到几个服务:php,nginx等等。目前本文只用了nginx和php。
首先是拉取镜像

docker pull php:5.6-fpm
docker pull nginx

启动之前先创建一个docker网络,使用docker来连接多个容器。

docker network create -d bridge php-net

先启动PHP容器

docker run --name php-web -d -p 8000:8000 --network php-net -v 你的虚拟机内php资源存放路径:/data(要在容器中存放该资源的路径) php:5.6-fpm(镜像)

之后在虚拟机中创建nginx的配置文件conf.d,填入一下内容

server{listen 80;server localhost;location / {root /data;  #对应虚拟机挂载到nginx容器中的/data代码目录index index.php index.html index.htm;}location ~\.php(.*)$ {root /data;     #对应主机挂在到php容器中的/data代码目录fastcgi_pass php容器的内网ip:8000;   #此地址为php容器的内网ipfastcgi_index index.php;fastcgi_param SCRIPT_FILENAME /data$fastcgi_script_name;  fastcgi_param PATH_INFO $1;   #此行配置pathinfo,tp框架必须使用pathinfoinclude fastcgi_params;}
}

启动nginx容器

docker run --name php-nginx --network php-net -d -p 80:80 -v 你的虚拟机内php资源存放路径:/data -v 你的conf.d文件存放路径:/etc/nginx/conf.d nginx(镜像)

进入php-web容器内安装php所需的扩展

docker exec -it php-web bash
cd /usr/local/bin
./docker-php-ext-install pdo_mysql
./docker-php-ext-install mysql
docker-php-ext-install bcmath
docker-php-ext-install mbstring
apt-get update && apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng-dev
docker-php-ext-install -j$(nproc) iconv
docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/
docker-php-ext-install -j$(nproc) gd
pecl install redis-4.0.1 && pecl install xdebug-2.6.0 && docker-php-ext-enable redis xdebug

安装了mysql,bcmath,gd,mbstring,redis等扩展。
重启php-web容器

docker restart php-web

docker部署PHP项目相关推荐

  1. Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数Demo

    Docker 部署SpringBoot项目整合 Redis 镜像做访问计数Demo 最终效果如下 大概就几个步骤 1.安装 Docker CE 2.运行 Redis 镜像 3.Java 环境准备 4. ...

  2. Docker 部署SpringBoot项目不香吗?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:流星007 链接:toutiao.com/i68433912 ...

  3. 又到了上云时刻啦!!!阿里云 Docker部署SpringBoot项目 方便测试的部署方式

    又到了上云时刻啦!!!阿里云 Docker部署SpringBoot项目 方便测试的部署方式 部署思路: 具体步骤: 1.打成jar 2.上传到服务器 3.启动JDK容器 4.进入JDK 容器 启动 项 ...

  4. docker部署django项目、mysql主从搭建、django实现读写分离

    目录 docker部署django项目 1.1 基于python基础镜像 将本地django项目打包并发到远程服务器上 将服务器上的.zip django项目解压 部署的具体流程 1.2 基于dock ...

  5. docker 部署Python项目 以及dockerfile文件的编写

    Dockerfile文件详解:https://www.cnblogs.com/panwenbin-logs/p/8007348.html Docker的基本使用(部署python项目): https: ...

  6. docker部署sprinboot项目

    掌握了基本的docker知识之后,我们就想尝试使用docker来部署一下项目,由于现在越来越多的项目都是直接以jar包启动的,即springboot项目,下面就简单演示一下使用用docker部署一个j ...

  7. win10 docker部署gpu项目

    win10 docker部署gpu项目 nvidia-docker win10安装docker 制作镜像 ubuntu18.04部署docker gpu项目 安装docker 配置docker使用gp ...

  8. shell脚本模拟键盘输入完成程序交互(定时重启docker部署的项目样例)

    shell脚本模拟键盘输入完成程序交互(定时从起docker部署的项目样例) 背景 最近有一个利用docker部署的组件(test1)每天晚上12-1点总是会停止工作,但又找不到异常原因,重启后恢复正 ...

  9. 【Python】使用Docker部署Python项目

    用Docker部署Python项目 0.源码目录 1.编写Dockerfile文件 2.Docker根据Dockerfile文件生成Docker镜像 3.将镜像运行在Docker容器中 众所周知,同一 ...

  10. 【云原生之Docker实战】使用docker部署mkdocs项目文档工具

    [云原生之Docker实战]使用docker部署mkdocs项目文档工具 一.mkdocs介绍 1.mkdocs简介 2.mkdocs特点 二.检查本地环境 1.检查docker版本 2.检查dock ...

最新文章

  1. VisualStudio 合并代码文件
  2. mysql 碎片率_mysql数据碎片太多怎么办?
  3. MySQL数据库修改用户登录密码的三种方式
  4. 回溯算法和贪心算法_回溯算法介绍
  5. js怎么获取扫码枪条码_生产扫码计件解决方案
  6. 表格中建一个按钮_没想到手机还有扫描功能,纸质表格一键电子化,看完快去试试...
  7. timerfd_create Function not implemented问题
  8. 体验WebEx网络会议
  9. 汽车显示服务器出现异常,领克06车机网络异常怎么办?我们梳理了四种处理方法,建议牢记...
  10. 全国大学计算机硕士专业排名,计算机考研院校排名:中国大学计算机学科排行榜...
  11. java局域网组建与维护题_19903-局域网组建与维护-习题答案
  12. RNA-seq流程学习笔记(18)- Heatmap图
  13. Multisim基础 交流电源AC的Voltage offset的含义
  14. Matlab机器人工具箱(3-4):五自由度机械臂(计算力矩控制方法与roblocks)
  15. PCI DSS合规性审核认证服务
  16. 幻灯片无缝滑动(无需重新设置下标)
  17. 微信公众号 接口测试平台 获取自定义菜单教程
  18. 前台和后台的数据交互
  19. 如何理解IoC/DI
  20. 什么是UA?常见蜘蛛UA?怎么查询UA?

热门文章

  1. TextBox 滚动条和快捷键全选
  2. 第三季度财报有游戏高管电话解读
  3. 不遗憾的故事里,伴随着一颗笨笨的专心
  4. c语言struct的作用和用法,c语言中的关键字struct(结构体)的用法
  5. 《新编鬼谷子金书》--致富奇书
  6. FLEX 相交线交点位置画弧线
  7. 2G内存只有1G可用是什么问题?
  8. FastReport打印
  9. Spring boot Freemarker 获取ContextPath的方法
  10. 奥巴马2008年父亲节的演讲