macOS docker/laradock 安裝與使用

程式碼的壞味道發表於2019-07-07

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是如何一步一步配置的:

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

相關文章