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
4.启动docker之后,
docker -v //查看版本
docker info//查看配置信息
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,显示如下:
总结
docker在使用的时候,明显感到电脑很吃力.我16G的内存,启动了docker和其他几个软件就占了10多个G内存.为了开发效率个人还是选择MAMP(小鲨鱼),虽然low,但是效率真的高.
本作品采用《CC 协议》,转载必须注明作者和本文链接
安装时必须**上网,不然镜像太慢压根儿下不下来。。。
mac 的话, 推荐 fpm 在宿主机安装比较好
:+1:我也一直在用laradock,非常顺手
mac 下我一直用 valet
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. 这个找了好久 不知道是哪里出问题了