zoukankan      html  css  js  c++  java
  • 使用docker配置laravel5.5环境

    简介

    简述一下我用docker来配置laravel环境

    软件镜像

    • php:7.2-rc-fpm-alpine
    • mysql:5.6
    • nginx:1.12.2-alpine

    配置环境

    • Ubuntu:16.04
    • macOS:Sierra

    以上两个操作系统我都实验过,均能运行


    准备

    注意点:要是宿主机上面开着mysql和nginx服务的,请停止服务,要不然两个服务分别占用:3306和80或443端口,使得容器无法启动

    service mysql stop 
    ps -ef|grep nginx
    kill pid# nginx 的进程号
    

    配置过程

    从github上下载配置文件

    git clone https://github.com/daimonster/PHP-env.git
    

    切换版本

    git checkout laravel5.5
    

    生成php镜像

    cd php && docker build -t dai/php:laravel .
    

    特别要注意的是镜像名字不能随便填,如果想要改成别的名字,一定要记得将docker-compose.yml文件中的镜像的名字改成一样的

    顺便介绍一些有用的docker操作:

    • 批量删除所有镜像:docker rmi $(docker images -q)
    • 批量停止所有容器:docker stop $(docker ps -aq)
    • 批量删除所有容器:docker rm $(docker ps -aq)

    运行docker-composer

    docker-compose.yml内容

    version: "3"
    services:
        nginx:
            image: nginx:1.12.2-alpine
            ports:
                #改成127.0.10.10这样不会与localhost冲突
                - "127.0.10.10:80:80"
                - "127.0.10.10:443:443"
            volumes:
                - ~/Git-Documents:/home/code:rw # ~/Git-Documents 是我自己的存放代码的目录,需要改成自身存放代码的地方
                - ./conf/nginx/nginx.conf:/etc/nginx/nginx.conf:ro#配置nginx
                - ./conf/nginx/vhost:/etc/nginx/conf.d:ro#配置nginx
                - ./log/nginx:/var/log/nginx:rw
            networks:
                - code-network
    
        php:
            image: dai/php:laravel
            volumes:
                - ~/Git-Documents:/home/code:rw # 这里同上
                - ./conf/php/php.ini-development:/usr/local/etc/php/php.ini:ro # 配置php
            networks:
                - code-network
        mysql:
            image: mysql:5.6
            ports:
                - "3310:3306"
            volumes:
                - ./conf/mysql/my.cnf:/etc/mysql/my.cnf:ro
                - ./data/mysql:/var/lib/mysql:rw
                - ./log/mysql:/var/log/mysql:rw
            environment:
                MYSQL_ROOT_PASSWORD: "root"
                MYSQL_USER: "test"
                MYSQL_PASSWORD: "test123"
    networks:
        code-network:
            driver: bridge
    
    

    运行命令:

    # 前台运行
    docker-composer up
    # 后台运行
    docker-composer up -d
    

    对php容器进行修改

    docker ps查看正在运行中的容器,然后进入php容器

    docker exec -it [容器ID] sh
    

    创建laravel项目

    composer create-project laravel/laravel Laravel --prefer-dist "5.4.*"
    

    给访问用户权限

    sudo chown -R :www-data /home/ubuntu/Code/Laravel
    sudo chmod -R 775 /home/ubuntu/Code/Laravel/storage
    

    如果能成功显示laravel页面,就OK了

  • 相关阅读:
    idea存在包但是运行项目一直报java.lang.NoClassDefFoundError的问题
    记录一次服务器大中间表优化的问题(数据倾斜的解决)
    CDH spark2切换成anaconda3的问题
    关于(我们流量表优化),分区表数据块过多,聚合又导致数据倾斜问题
    大数据(流量表)任务问题清洗生成新分区表过程
    spark2.0在IDE运行的问题
    位运算应用
    SPSS数据的图表
    SPSS数据输入
    箭头函数中的this
  • 原文地址:https://www.cnblogs.com/daibigmonster/p/8426210.html
Copyright © 2011-2022 走看看