macOS docker/laradock 安装与使用

一.laradock的安装

1.在你的项目克隆 Laradock

git clone https://github.com/Laradock/laradock.git

2.复制env文件

cd laradock
cp env-example .env

3.配置env文件

DB_HOST=mysql
REDIS_HOST=redis
QUEUE_HOST=beanstalkd

4.启动nginx,mysql,redis等

docker-compose up -d nginx mysql phpmyadmin redis workspace 

5.打开浏览器输入:http://localhost

6.配置nginx

进入文件目录laradock/nginx/site.
修改.default.conf文件
配置nginx代理.然后项目加可以访问了

总结:

因为是laradock.里面环境都是配置好的,直接clone就好,但是docker的强大之处更多的是其他更灵活的配置,接下来看docker是如何一步一步配置的:

二.docker的安装

1.使用brew安装

brew cask install docker

2.下载小鲸鱼,docker工具

https://download.docker.com/mac/stable/Docker.dmg

3.配置国内镜像,

我使用的是中国科学技术大学的:https://docker.mirrors.ustc.edu.cn
macOS docker/laradock 安装与使用

4.启动docker之后,

docker -v //查看版本
docker info//查看配置信息

macOS docker/laradock 安装与使用

5.拉取环境配置

1.拉取nginx:docker pull nginx.
2.拉取php: dcoker pull php :7.1-fpm(可指定版本)
3.拉取mysql:docker pull mysql:5.8
4.拉取Redis:docker pull  redis:3.2

6.nginx+php部署

启动php

docker run --name  myphp-fpm -v ~/nginx/www:/www  -d php:7.1-fpm

命令说明:

--name myphp-fpm : 将容器命名为 myphp-fpm。

-v ~/nginx/www:/www : 将主机中项目的目录 www 挂载到容器的 /www

创建 ~/nginx/conf/conf.d 目录:

mkdir ~/nginx/conf/conf.d

在该目录下添加 ~/nginx/conf/conf.d/test-php.conf 文件:

server {
    listen       80;
    server_name  localhost;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm index.php;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location ~ \.php$ {
        fastcgi_pass   php:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /www/$fastcgi_script_name;
        include        fastcgi_params;
    }
}

配置文件说明:

php:9000: 表示 php-fpm 服务的 URL,下面我们会具体说明。
/www/: 是 myphp-fpm 中 php 文件的存储路径,映射到本地的 ~/nginx/www 目录。

7.启动nginx

docker run --name runoob-php-nginx -p 8083:80  -d \
-v ~/nginx/www:/usr/share/nginx/html:ro \
-v ~/nginx/conf/conf.d:/etc/nginx/conf.d:ro \ 
--link myphp-fpm:php \
    nginx
  • -p 8083:80: 端口映射,把 nginx** 中的 80 映射到本地的 8083 端口。
  • ~/nginx/www**: 是本地 html 文件的存储目录,/usr/share/nginx/html 是容器内 html 文件的存储目录。
  • ~/nginx/conf/conf.d**: 是本地 nginx 配置文件的存储目录,/etc/nginx/conf.d 是容器内 nginx 配置文件的存储目录。
  • --link myphp-fpm:php: 把 myphp-fpm 的网络并入 nginx,并通过修改 nginx 的 /etc/hosts,把域名 php 映射成 127.0.0.1,让 nginx 通过 php:9000 访问 php-fpm。

接下来我们在 ~/nginx/www 目录下创建 index.php,代码如下:

<?php
echo phpinfo();  
?>

浏览器打开 http://127.0.0.1:8083/index.php,显示如下:

macOS docker/laradock 安装与使用

总结

docker在使用的时候,明显感到电脑很吃力.我16G的内存,启动了docker和其他几个软件就占了10多个G内存.为了开发效率个人还是选择MAMP(小鲨鱼),虽然low,但是效率真的高.

本作品采用《CC 协议》,转载必须注明作者和本文链接
cfun
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 5

安装时必须**上网,不然镜像太慢压根儿下不下来。。。

4年前 评论
幽弥狂 4年前

mac 的话, 推荐 fpm 在宿主机安装比较好

4年前 评论
zhouzishu 4年前
RunnerLee (作者) 4年前

:+1:我也一直在用laradock,非常顺手

4年前 评论

mac 下我一直用 valet

4年前 评论
代码的坏味道 (楼主) 4年前
chenshuai

ERROR: for php-fpm Cannot start service php-fpm: error while creating mount source path '/Code/laradock/php-fpm/php7.3.ini': mkdir /Code/laradock/php-fpm/php7.3.ini: file exists ERROR: Encountered errors while bringing up the project. 这个找了好久 不知道是哪里出问题了

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!