1. 程式人生 > >windows10 專業版 64位系統安裝docker並使用 laradock 搭建 laravel 環境

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 開發環境&