当前位置 博文首页 > 文章内容

    使用compose构建Docker多容器应用(Nginx+PHP+MySQL+Redis)

    作者: 栏目:未分类 时间:2020-07-02 14:11:42

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    首先安装compose

    #下载并移动到/usr/local/bin目录下
    curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" \
    -o /usr/local/bin/docker-compose
    #赋予可执行权限
    chmod +x /usr/local/bin/docker-compose

    然后执行docker-compose --version 如果能看显示对应的版本号说明安装成功

    再一个空目录下创建nginx 和php两个目录,首先进入nginx目录并创建一个Dockerfile文件

    cd nginx
    vi Dockerfile

    在Dockerfile文件中写入如下指令

    FROM nginx:latest
    COPY default.conf /etc/nginx/conf.d/default.conf

    保存Dockerfile文件后再创建一个default.conf内容为

    #以下内容仅供参考,请按实际环境定制
    server {
        listen       80;
        server_name  localhost;
        root   /usr/share/nginx/html;
        index  index.html index.htm index.php;
        location ~ \.php$ {
            fastcgi_pass   php-fpm:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html/$fastcgi_script_name;
            include        fastcgi_params;
        }
    }

    保存文件后再执行 cd ../php 进入php目录 编辑Dockerfile文件(主要增加了一些常用扩展,请按实际情况定制) 内容如下

    FROM php:7.3-fpm
    RUN docker-php-ext-install pdo pdo_mysql mysqli \
    && pecl install redis-4.2.0 && docker-php-ext-enable redis

    然后保存,cd .. 回到外层目录创建docker-compose.yml文件

     vi docker-compose.yml 并键入如下内容

    version: '3'
    networks:
      dev-net:
        driver: bridge
    services:
     mysql:
        image: mysql:latest
        command: --default-authentication-plugin=mysql_native_password
        restart: always
        environment:
          MYSQL_ROOT_PASSWORD: root
        networks:
         - dev-net
     nginx:
        build: nginx
        restart: always
        ports:
          - 80:80
        volumes:
        - /home/wwwroot/default/:/usr/share/nginx/html
        depends_on:
          - mysql
          - redis
          - php-fpm
        networks:
         - dev-net
     php-fpm:
        build: php
        volumes:
        - /home/wwwroot/default/:/usr/share/nginx/html
        networks:
         - dev-net
     redis:
        image: redis:latest
        networks:
         - dev-net

    保存后执行

    docker-compose up -d

    等待完成自动构建即可