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

物联网
• 阅读 1952

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

docker官网
docker官网安装文档

安装说明

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

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

开启方式如下图:

  1. 打开控制面板-程序-程序和功能-启用或关闭 windows 功能
    windows10 专业版 64 位系统安装 docker 并使用 laradock 搭建 laravel 环境
  2. 找到有关 Hyper-V 的项,全部选中
    windows10 专业版 64 位系统安装 docker 并使用 laradock 搭建 laravel 环境
  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 所有选项。
    windows10 专业版 64 位系统安装 docker 并使用 laradock 搭建 laravel 环境
  • 下载 Docker Desktop for Windows desktop app

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

  1. 下载 Docker Desktop for Windows app

    Docker Desktop Installer.exe 下载安装地址
  2. 下载完成之后,直接双击安装
    windows10 专业版 64 位系统安装 docker 并使用 laradock 搭建 laravel 环境

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

  1. 开启 docker
    直接可以通过小娜助手搜 docker 关键词,然后启动 Docker Desktop,不管怎样,主要是找到 Docker Desktop 应用,打开就好。
    windows10 专业版 64 位系统安装 docker 并使用 laradock 搭建 laravel 环境
  2. 查看 docker 开启状态。
    windows10 专业版 64 位系统安装 docker 并使用 laradock 搭建 laravel 环境
初次安装时,可能会提示你登录 docker 的账号,如果没有 docker 账号的话,可以去 docker 官网注册一下。
  1. 测试安装。
    任意位置打开 Windows PowerShell

    // 查看 docker 版本
    docker --version 
    
    docker-compose --version
    
    docker run hello-world

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

  • 使用 laradock 搭建项目

  • 将 laradock 项目代码克隆到本地:

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

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

  1. 进入 laradock 目录将 env-example 复制一份并命名为 .env

    cp env-example .env

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

  1. 运行容器 (此时在 laradock 目录下)

    docker-compose up -d nginx mysql redis workspace

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

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

    DB_HOST=mysql
    REDIS_HOST=redis
    QUEUE_HOST=beanstalkd
  2. 在和 laradock 同级目录下新建 wwwroot 目录,用于存放代码
    windows10 专业版 64 位系统安装 docker 并使用 laradock 搭建 laravel 环境

新建 demo 文件夹,并写入 phpinfo(); 到 index.php 作为测试。
windows10 专业版 64 位系统安装 docker 并使用 laradock 搭建 laravel 环境

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

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

这样就相当于为 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
  2. 在浏览器中访问 demo.test
    windows10 专业版 64 位系统安装 docker 并使用 laradock 搭建 laravel 环境
  3. 安装多项目。比如搭建 laravel 项目
    在 wwwroot 目录下执行 composer 命令 (需要提前在 Windows 环境中安装 composer)
    可以查看我写的这篇文章 Windows安装composer
composer create-project laravel/laravel blog --prefer-dist

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

目录结构如下:
windows10 专业版 64 位系统安装 docker 并使用 laradock 搭建 laravel 环境

  1. 添加 nginx 配置文件追加 hosts 配置
    windows10 专业版 64 位系统安装 docker 并使用 laradock 搭建 laravel 环境
  2. 重启 docker 中的 nginx

    docker-compose up -d nginx
  3. 彩蛋
  • 进入Workspace 容器, 执行比如(Artisan, Composer, PHPUnit, Gulp, ...)等命令
docker-compose exec workspace bash 或者 docker exec -it laradock_workspace_1 bash
  • 列出正在运行中的容器
docker ps
  • 关闭所有正在运行的容器
docker-compose stop
  • 进入 mysql 容器
docker-compose exec mysql bash
  • 退出容器
exit
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
6个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Stella981 Stella981
3年前
Linux查看GPU信息和使用情况
1、Linux查看显卡信息:lspci|grepivga2、使用nvidiaGPU可以:lspci|grepinvidia!(https://oscimg.oschina.net/oscnet/36e7c7382fa9fe49068e7e5f8825bc67a17.png)前边的序号"00:0f.0"是显卡的代
Wesley13 Wesley13
3年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Stella981 Stella981
3年前
IDEA中通过docker插件部署springboot项目
docker相关部分windows系统安装/升级Docker客户端对于Windows10专业版以下的用户,推荐使用DockerToolboxWindows安装文件:http://mirrors.aliyun.com/dockertoolbox/windows/docker
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
芝士年糕 芝士年糕
2年前
Windows Server 2012 R2 安装 Docker
使用3A服务器搭建Windows系统,下面把安装docker的步骤交给你们安装包下载windows10、WindowsServer2016以上系统可直接使用安装包,低版本系统需要使用DockerToolbox来进行安装使用Docker。
物联网
物联网
Lv1
我将被带上怎样的轨道走过怎样的路过完怎样的一生
文章
4
粉丝
0
获赞
0