PHP经验分享编什么程

docker搭建LNMP环境(php-fpm)

2020-01-20  本文已影响0人  沙蒿同学

18年刚出来实习的时候就搭建过lnmp开发环境,教程为docker 搭建LAMP开发环境,拉的是一个集成的lnmp环境,今天使用mysql、nginx、php的镜像来搭建多个容器的php-fpm环境。

准备

sudo curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose 

sudo chmod +x /usr/local/bin/docker-compose

docker-compose --version
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://5a88fb64.m.daocloud.io

这里使用到的php是7.1版本的,后续在更新一个最新版本的7.3的docker-compose.yml吧。然后mysql用的还是5.7的,刚开始使用了mysql8的,相比于5.7,它的性能高很多,但也会有比较多的坑要过,这里先用5.7简单点吧。

docker pull nginx
docker pull php:7.1-fpm
docker pull mysql:5.7

执行

  docker-compose up -d
version: "3"
services:
  nginx:
    image: nginx:latest
    container_name: nginx
    ports:
      - "80:80"
    volumes:
      - ./code:/code  #创建项目根目录,根据自己的情况来定
      - ./nginx/conf.d:/etc/nginx/conf.d  #可以把ngixn配置映射出来,便于修改
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf
      - ./nginx/logs:/var/log/nginx
    network_mode: "host"
  mysql:
    image: mysql:latest
    container_name: mysql
    command: --default-authentication-plugin=mysql_native_password
    volumes:
      - /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime
      - ./mysql/data:/var/lib/mysql:rw #创建 /data/myql 目录
      - ./mysql/logs:/var/lib/mysql-logs:rw  # /logs/mysql 目录
    ports:
      - "3306:3306"
    environment:
      MYSQL_USER: root  
      MYSQL_PASSWORD: 123456 
      MYSQL_ROOT_PASSWORD: 123456
    network_mode: "host"
  php:
    build: ./
    container_name: fpm7.1
    ports:
      - "9000:9000"
    working_dir: /code
    volumes:
      - /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime
      - ./code:/code
      - ./php/php.ini:/usr/local/etc/php/php.ini
    network_mode: "host"
FROM php:7.1-fpm
RUN apt-get update && apt-get install -y libpng-dev libjpeg-dev libpq-dev \
&& rm -rf /var/lib/apt/lists/* \
&& docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \
&& docker-php-ext-install gd mbstring pdo pdo_mysql pdo_pgsql zip
CMD ["php-fpm"]
上一篇下一篇

猜你喜欢

热点阅读