• +86 18940128339
  • 3056844889@qq.com

Docker搭建 nginx+php+mysql+redis

Docker搭建 nginx+php+mysql+redis

一.创建 /app/www /app/docker_files

二. /app/www 项目目录

三.docker配置目录

1.nginx 创建目录 /app/www/nginx /app/www/nginx/

Dockerfile

from nginx
COPY ./conf/conf.d/ /etc/nginx/conf.d/
COPY ./conf/certs/ /etc/nginx/certs/
COPY ./conf/nginx.conf /etc/nginx/nginx.conf

2.php 创建目录 /app/docker_files/php

Dockerfile

FROM php:8.0-fpm

ENV WWW_PATH "/www"

RUN mkdir ${WWW_PATH}

RUN  sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
RUN  sed -i s@/deb.debian.org/@/mirrors.aliyun.com/@g /etc/apt/sources.list
RUN  apt-get clean


RUN pecl install redis-5.3.7 && docker-php-ext-enable redis

RUN apt-get update && apt-get install -y \
		libfreetype6-dev \
		libjpeg62-turbo-dev \
		libpng-dev \
	&& docker-php-ext-configure gd --with-freetype --with-jpeg \
	&& docker-php-ext-install -j$(nproc) gd

RUN apt-get install -y \
    zlib1g-dev \
    libzip-dev

RUN docker-php-ext-install zip
RUN docker-php-ext-install pdo pdo_mysql
RUN docker-php-ext-install bcmath

RUN apt-get install -y procps
RUN apt-get install -y vim
RUN apt-get install -y supervisor

WORKDIR ${WWW_PATH}

RUN php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');" && php composer-setup.php && php -r "unlink('composer-setup.php');"

RUN mv composer.phar /usr/local/bin/composer

RUN composer config -g repo.packagist composer https://mirrors.aliyun.com/composer

3.redis 创建目录/app/docker_files/redis

Dockerfile

FROM redis
COPY ./redis.conf /usr/local/etc/redis/redis.conf

4.mysql 创建目录 /app/docker_files/mysql /app/docker_files/mysql/conf /app/docker_files/mysql/data

Dockerfile

FROM mysql:5.7

COPY conf/ /etc/mysql/conf.d/
COPY data/ /var/lib/mysql/

EXPOSE 3306

5. docker-comose.yml 配置

version: '3'
services:
  web:
    build: './nginx'
    image: 'nginx-server:1.0'
    container_name: 'nginx-server'
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - '/app/docker_files/nginx/conf/nginx.conf:/etc/nginx/nginx.conf'
      - '/app/docker_files/nginx/conf/conf.d:/etc/nginx/conf.d'
      - '/app/docker_files/nginx/conf/certs:/etc/nginx/certs'
      - '/app/www:/usr/share/nginx/html'
    networks:
      - lnmp
  php:
    build: './php'
    image: 'php-server:1.0'
    container_name: 'php-server'
    ports:
      - "9000:9000"
    volumes:
      - "/app/www:/www"
    networks:
      - lnmp
  redis:
    build: './redis'
    image: 'redis-server:1.0'
    container_name: 'redis-server'
    ports:
      - "6379:6379"
    networks:
      - lnmp
  db:
    build: './mysql'
    image: 'db-server:1.0'
    container_name: 'db-server'
    ports:
      - "3366:3306"
    volumes:
      - "/app/docker_files/mysql/conf:/etc/mysql/conf.d"
      - "/app/docker_files/mysql/data:/var/lib/mysql"
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    networks:
      - lnmp
networks:
  lnmp:
    driver: bridge
suixianbo

1.三年 IOS 开发经验基础扎实 精通Objective-C语言和SwiftUi框架 2.五年PHP开发 精通 Thinkphp Laravel框架 熟悉 YII2 等常用框架 3.熟悉常用语言 java js css html等 4.熟练使用 git svn docker 等开发软件 5.有良好的编码习惯 熟悉面向对象编程 熟练使用 MVC和 MVP 等常用架构 熟练掌握缓存redis使用,精通mysql优化,了解swoole 6.精通 linux,centos,Ubuntu 等服务器常用指令 服务器搭建 运维

留下您的信息