Docker Compose运行Laravel项目

Docker Compose运行Laravel项目

      继上回在本地使用docker运行laravel,今晚抽空尝试使用Docker Compose来运行laravel,在参考了文档以及视频教程之后,自己手动写了一个docker-compose.yml,成功的运行laravel项目,在这里跟大家分享,关于什么是Docker Compose,大家可以访问Docker Compose进行了解。

      以下docker-compose.yml运行将会启动4个容器(redis、mysql、php、nginx),这四个容器在上一篇教程中我也使用了三个(mysql、php、nginx),但是要分3次运行,里面的挂载目录以及端口映射,我直接取上一篇教程里面的。

version: "3"
services:
  redis:
    image: redis:latest
    container_name: redis_compose
    ports:
    - 6379:6379
  mysql:
    image: mysql:latest
    container_name: mysql_compose
    ports:
    - 3306:3306
    environment:
    - MYSQL_ROOT_PASSWORD=123456
  php:
    image: php:7.3-fpm
    container_name: dpp-php
    ports:
    - 9000:9000
    volumes:
    - /word:/var/www/html
    links:
    - mysql
  nginx:
    image: nginx:latest
    container_name: nginx_compose
    ports:
    - 9191:80
    volumes:
    - /Users/hongzhuangxian/nginx/conf/conf.d:/etc/nginx/conf.d
    - /word:/var/www/html
    links:
    - php
    - redis

以上就是我的容器编排配置案例,我们简单了解各个参数的含义,我们就拿nginx容器来说

nginx:
    image: nginx:latest
    container_name: nginx_compose
    ports:
    - 9191:80
    volumes:
    - /Users/hongzhuangxian/nginx/conf/conf.d:/etc/nginx/conf.d
    - /word:/var/www/html
    links:
    - php
    - redis
    
/*  参数解释:
image:代表使用哪个镜像,这里使用的是nginx镜像,同时指定最高版本(latest)
container_name:表示容器名,由我们自己命名,同我们单独运行时--name
ports:代表端口映射,同我们单独运行时-p
volumes:将主机的数据卷或着文件挂载到容器里,同我们单独运行时-v
links:链接容器,同我们单独运行时--link,这里我们链接了php、redis两个容器
*/

至于其他参数大家可以自行百度。

      然后我们在docker-compose.yml文件当前目录运行

docker-compose up -d

运行效果如下:

123.png

至于Nginx配置,用上一篇教程里面即可,这样我们就可以成功跑起来,同时可以运行我们的Laravel项目。