利用 Docker Compose 编排 PHP-FPM+Apache

金刀大菜牙 · · 477 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

\color{red}{喜欢本篇,欢迎点赞分享}

前言


Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速在集群中部署分布式应用,项目源码可以在 Github 上查看:https://github.com/docker/compose,主要基于 Python 编写。

Compose 定位是 「定义和运行多个 Docker 容器的应用(Defining and running multicontainer Docker applications)」,其前身是开源项目 Fig。

关于 Docker Compose 技术可以查看官方文档 Docker Compose
以下的内容是确立在已经下载好 Docker 以及 Docker Compose,可参看 Docker Compose 的官方安装教程 Install Docker Compose

添加配置文件 docker-compose.yml


上篇文章 中我们安装和启动了 PHP-FPM+Apache,运行出了我们第一个网站运行环境,为了让我们容器的启动和删除操作方便,所以我们要使用docker compose ,一款编排工具。

随便找个文件夹(我的是在 /home/liang/it/web/compose 这个目录下), 写个名字叫做 docker-compose.yml 的文件,对照着 上篇文章 启动命令改改即可。

docker run -d --rm --name fpm -v /home/liang/it/web/php:/php php:7.4.11-fpm-alpine3.12

docker run -d -p 80:80 --name myweb -v /home/liang/it/web/php:/usr/local/apache2/htdocs/ -v /home/liang/it/web/conf/httpd.conf:/usr/local/apache2/conf/httpd.conf httpd:2.4-alpine

向 docker-compose.yml 中添加以下配置:

version: "3.8"
services:
  fpm:
    image: php:7.4.11-fpm-alpine3.12
    container_name: fpm
    volumes:
      - /home/liang/it/web/php:/php
    networks:
      mywebnet:
        ipv4_address: 192.158.0.2
  myweb:
    image: httpd:2.4-alpine
    container_name: myweb
    ports:
      - 80:80
    volumes:
      - /home/liang/it/web/php:/php
      - /home/liang/it/web/conf/httpd.conf:/usr/local/apache2/conf/httpd.conf
    networks:
      mywebnet:
        ipv4_address: 192.158.0.3

networks:
  mywebnet:
    driver: bridge
    ipam:
      config:
        - subnet: 192.158.0.0/16

我们在配置文件里添加了网络的配置,因为我们在 httpd.conf 配置文件里指定了 PHP-FPM 的 IP 地址

启动容器


在 docker-compose.yml 目录下,执行启动命令 docker-compose up -d 即可。
用浏览器打开:http://localhost/index.php

phpinfo

成功的出现了 php 界面!

加入这里(https://t.zsxq.com/zBAQNbu),每天都有 Golang 进阶视频更新

\color{red}{喜欢本篇,欢迎点赞分享}


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:金刀大菜牙

查看原文:利用 Docker Compose 编排 PHP-FPM+Apache

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

477 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传