只須要幾分鐘,就能部署好一套PHP環境php
docker 的性能損失只有1-2%,幾乎能夠忽略不計。html
容器與宿主機徹底隔離,默認狀況下不能相互訪問。node
能夠PHP多版本共存mysql
如何用laradock 在10分鐘內 部署 Notadd 與 laradock 環境nginx
curl -sSL https://get.daocloud.io/docker | sh ## 安裝docker
Centos7 請執行這步laravel
yum install -y docker-engine
ubuntu 請執行這步git
sudo apt-get install -y -q docker-engine
curl -L https://get.daocloud.io/docker/compose/releases/download/1.13.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://1f637783.m.daocloud.io
下載安裝
https://get.daocloud.io/docke...github
在桌面右下角狀態欄中右鍵 docker 圖標,修改在 Docker Daemon 標籤頁中的 json ,把下面的地址:redis
http://1f637783.m.daocloud.io Copy
加到"registry-mirrors"的數組裏。點擊 Apply 。sql
下載安裝
https://get.daocloud.io/docke...
右鍵點擊桌面頂欄的 docker 圖標,選擇 Preferences ,在 Daemon 標籤(Docker 17.03 以前版本爲 Advanced 標籤)下的 Registry mirrors 列表中加入下面的鏡像地址:
http://1f637783.m.daocloud.io Copy
點擊 Apply & Restart 按鈕使設置生效。
請確保git 可用 (win 建議在Powershell下執行)
git clone https://github.com/Laradock/laradock.git mkdir -p wwwroot/data # 建立網站目錄 cd wwwroot git clone https://github.com/notadd/notadd.git cd .. # 返回到上級目錄
Linux: (win 和 mac 請直接編輯env-example
文件)
cd laradock vi env-example
APPLICATION=../wwwroot
DATA_SAVE_PATH=../wwwroot/data
視狀況開啓
NODE=true YARN=true
PHP_FPM_INSTALL_XDEBUG=false PHP_FPM_INSTALL_MONGO=false PHP_FPM_INSTALL_MSSQL=false PHP_FPM_INSTALL_SOAP=false PHP_FPM_INSTALL_ZIP_ARCHIVE=true PHP_FPM_INSTALL_BCMATH=true PHP_FPM_INSTALL_PHPREDIS=true PHP_FPM_INSTALL_MEMCACHED=false PHP_FPM_INSTALL_OPCACHE=false PHP_FPM_INSTALL_EXIF=true PHP_FPM_INSTALL_AEROSPIKE=false PHP_FPM_INSTALL_MYSQLI=false PHP_FPM_INSTALL_TOKENIZER=false PHP_FPM_INSTALL_INTL=false PHP_FPM_INSTALL_GHOSTSCRIPT=false PHP_FPM_INSTALL_LDAP=false PHP_FPM_INSTALL_SWOOLE=false
線上環境請將 PHP_FPM_INSTALL_OPCACHE=true
下面是數據庫默認的帳號和密碼,請根據須要自行修改,再也不闡述。
更改完畢後請務必進行此操做:
cp env-example .env
複製環境變量文件。
Caddy 是一個高性能,且使用很簡單的HTTP服務器,自帶HTTPS證書。
cd caddy vi Caddyfile
更改成以下配置:
# Docs: https://caddyserver.com/docs/caddyfile 0.0.0.0:80 { root /var/www/notadd/public fastcgi / php-fpm:9000 php { index index.php } # To handle .html extensions with laravel change ext to # ext / .html rewrite { r .* ext / to /index.php?{query} } gzip browse log /var/log/caddy/access.log errors /var/log/caddy/error.log }
請注意: 容器沒法直接訪問主機。
APPLICATION=../wwwroot 設置的 wwwroot目錄 會對應容器的/var/www 目錄
完成後請:
cd .. # 進入laradock 根目錄
能夠根據本身須要自行啓動 nginx/apache/mysql/phpmyadmin/redis 等
注:phpmyadmin
請訪問 http://IP:88 pgadmin
請訪問 http://IP:5050
docker-compose up caddy postgres pgadmin
第一次運行須要安裝環境,須要比較久的時間,請耐心等待
如下操做請確保在laradock 根目錄下
laradock 默認會啓動 php-fpm 和 workspace ,因此參數中無需加這兩個。
啓動 caddy 和 postgresql
docker-compose up caddy postgres
後臺啓動
docker-compose up -d caddy postgres
只重啓caddy (好比修改了配置文件)
docker-compose restart caddy
中止全部
docker-compose stop
進入工做空間前,請確認環境已經啓動
docker-compose exec workspace bash
會進入 /var/www
目錄
此時 能夠執行composer
和PHP
命令。
若是以前env-example
開啓了node
和yarn
也可執行對應命令。
cd notadd compose install php notadd vendor:publish --force
exit
請必定注意,數據庫鏈接地址請必定填寫爲mysql
、postgres
、mariadb
等。
另外Nginx/Caddy/Apache 若是須要訪問PHP容器,請填寫:php-fpm
當你再次修改完env-example
後,請必定按照以下方法執行:
cp env-example .env
從新構建相應的容器
docker-compose build php-fpm worksapce
若是還修改了 其餘容器配置,請在後面一同加上
因爲數據庫的數據是映射到 wwwroot/data
目錄,
因此在env-example
修改數據庫密碼,即便從新構建也無效。
如需強制更改 請刪除wwwroot/data
裏面對應數據庫的數據。
平常修改密碼,請使用phpmyadmin
或者 pgadmin