zoukankan      html  css  js  c++  java
  • dockercompose创建lnmp环境

    version: "3.8"
    services:
      nginx:
        container_name: "nginx"
        image: nginx:latest
        #重启策略:
        #no,默认策略,在容器退出时,不重启容器;
        #on-failure,在容器非正常退出时(退出状态非0),才会重启容器
        #on-failure:3,在容器非正常退出时重启容器,最多重启3次
        #always,在容器退出时,总是重启容器
        #unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
        #端口映射(宿主机8080->nginx容器80,可以映射多个,比如443端口)
        ports:
          - "80:80"
          - "443:443"
        environment:
          - TZ=Asia/Shanghai
        #数据卷挂载
        volumes:
          - "/usr/local/nginx/conf.d:/etc/nginx/conf.d"
          - "/usr/local/nginx/nginx.conf:/etc/nginx/nginx.conf"
          - "/usr/local/nginx/log:/var/log/nginx"
          - "/usr/local/nginx/html:/usr/share/nginx/html"
    
      php:
        container_name: "php7.3"
    #    注意,在version 1里同时使用image和build是不允许的,version 2则可以,如果同时指定了两者,会将build出来的镜像打上名为image标签。
        build: ./php-extension
        image: php7.3-app
        ports:
          - "9000:9000"
        volumes:
          - "/home/www/phpProject:/var/www/html"
          - "/usr/local/php7.3/etc:/usr/local/etc"
          - "/usr/local/php7.3/log/:/var/log/php/"
        stdin_open: true
        tty: true
        #links:
        #      - "mysql"
        # 设置时区
        environment:
          - TZ=Asia/Shanghai
      mysql:
        container_name: "mysql8"
        image: mysql:8
        #mysql的端口
        ports:
          - "3306:3306"
        #数据卷挂载设置
        volumes:
          - "/usr/local/mysql8/data:/var/lib/mysql"
          - "/usr/local/mysql8/etc:/etc/mysql"
          - "/usr/local/mysql8/logs:/data/mysql/logs"
        environment:
          - TZ=Asia/Shanghai # 设置时区
          #设置mysql的密码
          - MYSQL_ROOT_PASSWORD=123456
    
      redis:
        container_name: "redis"
        image: redis
        ports:
          - "6379:6379"
        volumes:
          - "/usr/local/redis/etc:/usr/local/etc/redis"
          - "/usr/local/redis/data:/data"
        command:
          #执行命令(设置密码和持久化)
         redis-server /usr/local/etc/redis/redis.conf --requirepass 123456 --appendonly yes
         # redis-server /usr/local/etc/redis/redis.conf
        environment:
          - TZ=Asia/Shanghai # 设置时区
    
    networks:
      default:
          name: mynet
    

    在根目录下创建./php-extension/Dockerfile

    FROM php:7.3-fpm
    
    # 安装 php 扩展
    RUN sed -i "s@http://deb.debian.org@http://mirrors.aliyun.com@g" /etc/apt/sources.list && rm -Rf /var/lib/apt/lists/* &&  cat /etc/apt/sources.list
    RUN apt-get update -y
    RUN docker-php-ext-install -j$(nproc) mysqli pdo_mysql shmop iconv sockets calendar
    
    RUN apt-get install -y --no-install-recommends libfreetype6-dev libjpeg62-turbo-dev libpng-dev \
        && rm -r /var/lib/apt/lists/* \
        && 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 swoole \
        && rm -rf /tmp/pear \
        && docker-php-ext-enable redis swoole \
        && apt-get clean && rm -rf /var/cache/apt/*
    

      

  • 相关阅读:
    内网穿透访问Vue项目的时候出现Invalid Host header解决办法
    Java中的super关键字
    java中的Arrays工具类及排序和查找
    Java中方法的覆盖/重写
    java中的数组
    java的内部类概述
    matlab主成分分析PCA
    matlab多元线性回归
    matlab神经网络工具箱
    神经网络(三):前馈神经网络(FNN)
  • 原文地址:https://www.cnblogs.com/hhwww/p/15671117.html
Copyright © 2011-2022 走看看