27

利用 Docker Compose 编排 PHP-FPM+Apache

 3 years ago
source link: https://studygolang.com/articles/31083
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

JbeUBz3.png!mobile

前言

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

fUfMNbE.png!mobile

phpinfo

成功的出现了 php 界面!

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

JbeUBz3.png!mobile

有疑问加站长微信联系

iiUfA3j.png!mobile

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK