一開始在自己本機上練習laravel專案
最近想練習部屬到雲端虛擬機上面所以開始學習docker
目前使用laradock當作開發環境
接觸到幾個指令
//目錄
|-laradock
|-project
|-project1 //laravel專案
docker-compose up -d nginx mysql
docker-compose stop
docker-compose down
我現在的問題是down和stop
stop是停止容器運作
down是停止容器運作外加上移除容器
如果使用down我目前為止做的網站內容像是mysql裡面的資料和一些額外composer require的套件是不是都會不見
另外如果要使用像是aws ec2或是gcp這種雲端主機該如何把專案放上去運作?
是進到雲端主機上安裝docker,clone laradock和clone自己的laravel專案,在修改環境參數,然後從頭開始 docker-compose up 建立容器去運作嗎?
很多觀念不太懂,請大家幫忙
如果像GCP這種的只是幫你灌好一個作業系統,
幫你處理好網路的環境,
但是程式的部分跟部署還是要你自己來,
昨天才在GCP部署好一個Laravel網站,
才發現原來自己對Linux這麼不熟...
在laradock中mysql的資料庫位置你可以自行設定,
laradock的話會有一個預設路徑,會把mysql的資料存在那邊,MAC的話會在個人資料夾中多一個資料夾像這樣
~/.laradock/data/mysql
所以只要起動docker時是去讀相同路徑的話檔案不會刪除,不過會有docker啟動後無法正常讀取資料庫的狀況,通常在重啟一次就可以
至於在workspace裡面composer要重新安裝依賴?
你這邊指的composer應該是指安裝在laravel下的部分,這部分一樣是根據laravel路徑,只要還是抓原本路徑就不用
你是想把已經開發好的laravel專案,部署到新的docker裡面嗎?
還是是要重建一個laradock能夠跑你還在開發的專案
我目前是使用雲端vm安裝docker,使用laradock去創建容器,開發的專案是另外用ftp傳過去
想請問使用雲端vm配合laradock比較常使用的做法是怎麼做的?
如果雲端已經有裝laradock那有兩個做法
1.本機上的laradock裡面整個專案資料夾
除了暫存,測試資料夾,.env之外,整個傳到雲端上的laradock設定的專案資料夾,用php artisan migrate更新資料庫後就可以
2.如果用到的node_modules,跟vendor資料夾容量很大的話,那上傳時忽略這兩個資料夾,再進雲端重裝 npm install 跟php composer.phar install
我通常是看專案需求再決定,不一定都會部署VM
大概會有幾個考量點
1.專案的源碼管理
2.硬體的需求程度
3.需要備份的資料多寡
4.災難復原難易度
5.時間跟費用成本