使用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了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM