在開始配置Laravel的環境設定檔案之前(.env
),先來帶大伙看看laradocke最
重要的一個容器workspace
。
workspace是laradock連結各個容器的重要容器,還記得我們昨天這麼做嗎:
docker-compose exec workspace composer create-project --prefer-dist laravel/laravel tutorial_blog 5.8.*
docker-compose exec
的格式是docker-compose exec <CONTAINER> <COMMAND>
。可是,可沒有吧workspace
啟動(up
)起來呀!我們像下面啟動了nginx
、mariaDB
、phpmyadmin
而已阿。
docker-compose up -d nginx mariadb phpmyadmin
是的,laradock會自動啟動workspace
這個容器。並且注意到後面的COMMAND
實際就是在第2天用來初始話laravel專案的命令。在下完這的命令以後,會在原本建立的 laravel-tutorial 目錄下多一個 tutorial_blog 目錄。並且裡面有基本Laravel的環境。我們會在幾天後來設定這個環境,現在,來我們專注於 workspace 這個容器。
我們同用用docker-compose exec
來進到 workspace 容器裡面。
docker-compose exec -u laradock workspace /bin/bash
或是用docker exec
來進到裡頭。不過使用docker exec
你還會需要知道真正的容器名字。所以命令可能像是下面這樣:
docker exec -it -u laradock laradock_workspace_1 /bin/bash
我們使用 laradock 登入workspace容器(-u/--user
)。laradock 預設用於開發的使用者帳號,如果不加上這個選項,會使用最高管理權限登入(root)。透過使用這個帳號登入,未來可能可以省去一些不必要的麻煩(ex:宿主機和虛擬機掛載目錄的權限問題)。
我們來測試看看跟其他容器是否通訊正常。不過我們得先裝下網路工具。
docker-compose exec workspace apt update
docker-compose exec workspaece apt-get install net-tools iputils-ping
接著我們進到容起裡面來做~
ping -c5 nginx
ping -c5 mariadb
ping -c5 phpmyadmin
ping -c5 php-fpm
※ 當然,如果你使用apache2, mysql。也可以替換ping看看
這裡要特別來說說 php-fpm 。因為我們昨天也沒啟動它,不過連線成功了?是的,這也是幾乎預設一定會啟動的容器。這個容器就是提供Apache2和Nginx執行PHP環境的容器。
PHP?
php --version
應該能得到類似以下輸出:
PHP 7.2.22-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Sep 2 2019 12:54:12) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.22-1+ubuntu16.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
composer?
composer --version
恩,很好也有。
所以,透過laradock,可以用來開發各種與PHP相關的應用。還記得我們曾經設定的APP_CODE_PATH_HOST
嗎?這個設定的位置裡的檔案,也會出現在這個容起裡面。這也是爲什麼原本目錄會多了 tutorial_blog 目錄;這個網頁內容也會出現在這個容器。
本文同步發表於隨性筆記