windows10 专业版 64位系统安装docker并使用 laradock 搭建 laravel 环境

windows10 专业版 64位系统安装docker

docker官网
docker官网安装文档

安装说明

  • windows 10 系统需要开启 Hyper-V

官方文档中有写到,必须开启 Hyper-V

开启方式如下图:

  1. 打开控制面板-程序-程序和功能-启用或关闭 windows 功能


    启用或关闭 windows 功能
  2. 找到有关 Hyper-V 的项,全部选中


    有关 Hyper-V 的选项,全部勾选
  3. 如果发现关于 Hyper-V 的选项无法开启,那么就需要进入 bios 开启虚拟化。开启方法见如下链接:

如何查看自己的Win10电脑是否能运行Hyper-V虚拟机

查看 Hyper-V 固件中启用的虚拟化是否开启的步骤:Win + R 输入 “msinfo32 ” 即可看到“系统信息”窗口。
进入 bios 开启固件虚拟化的方法步骤:进入 bios 设置界面,切换到 Advanced 标签,选中 CPU Configuration 设置 Intel Virtualization Technology 为 Enabled。(不同的主板可能会有不同的设置方法,主要是将 Intel Virtualization Technology 设置为 Enabled 即可)

  1. 再次打开【启用或关闭 windows 功能界面】开启 Hyper-V 所有选项。


    不管怎样,主要的步骤是开启 Hyper-V 所有选项
  • 下载 Docker Desktop for Windows desktop app

官方文档详细步骤
  1. 下载 Docker Desktop for Windows app

Docker Desktop Installer.exe 下载安装地址

  1. 下载完成之后,直接双击安装


    安装过程图01
安装过程图02
  1. 开启 docker
    直接可以通过小娜助手搜 docker 关键词,然后启动 Docker Desktop,不管怎样,主要是找到 Docker Desktop 应用,打开就好。


    本图通过小娜助手搜 docker 关键词打开
  2. 查看 docker 开启状态。


    桌面右下角会出现 docker 的图标,鼠标移到图标上面会出现 Docker Desktop is running 字样,即为打开

初次安装时,可能会提示你登录 docker 的账号,如果没有 docker 账号的话,可以去 docker 官网注册一下。

  1. 测试安装。
    任意位置打开 Windows PowerShell
// 查看 docker 版本
docker --version 

docker-compose --version

docker run hello-world
使用 PowerShell 和 cmd是一样的
  • 使用 laradock 搭建项目

  1. 将 laradock 项目代码克隆到本地:
git clone https://github.com/Laradock/laradock.git
下载 laradock 项目到本地
  1. 进入 laradock 目录将 env-example 复制一份并命名为 .env
cp env-example .env
复制配置文件
  1. 运行容器 (此时在 laradock 目录下)
docker-compose up -d nginx mysql redis workspace

如果指定端口已经被占用,运行上述命令会报错,关闭相应的服务再重新运行上述命令即可。

注:安装过程中,由于某些资源需要翻墙才能下载,建议安装并启用 VPN 后再执行上述命令。如果出现需要认证的下载资源无权下载,可以通过 Docker ID/密码 登录到 Docker 应用(点击状态栏 Docker 应用小图标就能看到登录菜单),注意这里必须用 Docker ID,不能用注册邮箱。在 Windows 下如果出现目录挂载失败,可以尝试在 Docker 设置中重新设置 Shared Drives。

  1. 打开项目的 .env 文件并添加如下配置:
DB_HOST=mysql
REDIS_HOST=redis
QUEUE_HOST=beanstalkd
  1. 在和 laradock 同级目录下新建 wwwroot 目录,用于存放代码


    新建 wwwroot 目录

新建 demo 文件夹,并写入 phpinfo(); 到 index.php 作为测试。


新建测试文件
  1. 此时需要再次在 .env 文件中修改 APPLICATION 配置项(新版本的 laradock 对应的配置项是 APP_CODE_PATH_HOST
APPLICATION=../wwwroot/
配置项目路径

这样就相当于为 wwwroot 与 Docker 的 /var/www 目录建立了软连接,然后我们修改 nginx 的配置文件,建立映射关系。

// 复制一份配置文件 demo.conf
cp ./laradock/nginx/sites/default.conf ./laradock/nginx/sites/demo.conf

修改成以下内容

server {

    listen 80;
    listen [::]:80;

    server_name demo.test;
    root /var/www/demo;
    index index.php index.html index.htm;

    location / {
         try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_pass php-upstream;
        fastcgi_index index.php;
        fastcgi_buffers 16 16k;
        fastcgi_buffer_size 32k;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        #fixes timeouts
        fastcgi_read_timeout 600;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }

    location /.well-known/acme-challenge/ {
        root /var/www/letsencrypt/;
        log_not_found off;
    }
}

重启 Docker 的 Nginx

docker-compose up -d nginx 
  1. 在 hosts 文件中添加 (Windows 下对应文件路径是 C:\Windows\System32\drivers\etc\hosts
127.0.0.1 demo.test
  1. 在浏览器中访问 demo.test


    如图所示,则表示 php 环境搭建成功!
  2. 安装多项目。比如搭建 laravel 项目
    在 wwwroot 目录下执行 composer 命令 (需要提前在 Windows 环境中安装 composer)
    可以查看我写的这篇文章 Windows安装composer

composer create-project laravel/laravel blog --prefer-dist
搭建 laravel 项目 blog

目录结构如下:


项目都在 wwwroot 目录下
  1. 添加 nginx 配置文件追加 hosts 配置


    重新复制一份 default.conf 配置文件,并作相应的配置修改
  2. 重启 docker 中的 nginx

docker-compose up -d nginx
  1. 彩蛋
  • 进入Workspace 容器, 执行比如(Artisan, Composer, PHPUnit, Gulp, ...)等命令
docker-compose exec workspace bash
  • 列出正在运行中的容器
docker ps
  • 关闭所有正在运行的容器
docker-compose stop
  • 进入 mysql 容器
docker-compose exec mysql bash
  • 退出容器
exit
  • 参考文献:

laradock中文文档

laravel 学院<[ Laravel 5.5 文档 ] 快速入门 —— 使用 Laradock 搭建基于 Docker 的 PHP 开发环境>

laravel 学院<[ Laravel 从入门到精通 ] 在 Mac/Windows 系统中使用 Laradock 搭建基于 Docker 的 Laravel 开发环境>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,126评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,254评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,445评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,185评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,178评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,970评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,276评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,927评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,400评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,883评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,997评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,646评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,213评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,204评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,423评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,423评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,722评论 2 345

推荐阅读更多精彩内容