iT邦幫忙

0

laradock + docker 觀念問題

一開始在自己本機上練習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 建立容器去運作嗎?

很多觀念不太懂,請大家幫忙

2 個回答

0
小魚
iT邦大師 1 級 ‧ 2019-11-21 08:18:44

如果像GCP這種的只是幫你灌好一個作業系統,
幫你處理好網路的環境,
但是程式的部分跟部署還是要你自己來,
昨天才在GCP部署好一個Laravel網站,
才發現原來自己對Linux這麼不熟...
/images/emoticon/emoticon02.gif

看更多先前的回應...收起先前的回應...

apt-get \0.0/

小魚 iT邦大師 1 級 ‧ 2019-11-21 09:00:14 檢舉

sudo apt-get remove 阿展展展
sudo rm -rf /
https://ithelp.ithome.com.tw/upload/images/20191121/20105694bI56JWisnA.png

/images/emoticon/emoticon25.gif

吉娃娃 iT邦新手 5 級 ‧ 2019-11-21 11:45:22 檢舉

請問像是docker-compose down是不是會直接移除容器?
在mysql裡面的資料會消失、在workspace裡面composer要重新安裝依賴?

Paul iT邦新手 5 級 ‧ 2019-11-25 10:38:59 檢舉

volume得資料不會消失

0
giulian
iT邦新手 4 級 ‧ 2019-11-22 04:56:38

在laradock中mysql的資料庫位置你可以自行設定,
laradock的話會有一個預設路徑,會把mysql的資料存在那邊,MAC的話會在個人資料夾中多一個資料夾像這樣
~/.laradock/data/mysql
所以只要起動docker時是去讀相同路徑的話檔案不會刪除,不過會有docker啟動後無法正常讀取資料庫的狀況,通常在重啟一次就可以

至於在workspace裡面composer要重新安裝依賴?
你這邊指的composer應該是指安裝在laravel下的部分,這部分一樣是根據laravel路徑,只要還是抓原本路徑就不用

看更多先前的回應...收起先前的回應...
吉娃娃 iT邦新手 5 級 ‧ 2019-11-22 12:23:18 檢舉

請問如果是要在新環境中部屬重新安裝docker,是否是laravel專案中的composer.json、package.json有的套件,就只是在重新composer update 就可以了

giulian iT邦新手 4 級 ‧ 2019-11-23 00:41:46 檢舉

你是想把已經開發好的laravel專案,部署到新的docker裡面嗎?
還是是要重建一個laradock能夠跑你還在開發的專案

吉娃娃 iT邦新手 5 級 ‧ 2019-11-23 14:06:53 檢舉

我目前是使用雲端vm安裝docker,使用laradock去創建容器,開發的專案是另外用ftp傳過去
想請問使用雲端vm配合laradock比較常使用的做法是怎麼做的?

giulian iT邦新手 4 級 ‧ 2019-11-24 05:21:57 檢舉

如果雲端已經有裝laradock那有兩個做法
1.本機上的laradock裡面整個專案資料夾
除了暫存,測試資料夾,.env之外,整個傳到雲端上的laradock設定的專案資料夾,用php artisan migrate更新資料庫後就可以
2.如果用到的node_modules,跟vendor資料夾容量很大的話,那上傳時忽略這兩個資料夾,再進雲端重裝 npm install 跟php composer.phar install

我通常是看專案需求再決定,不一定都會部署VM
大概會有幾個考量點
1.專案的源碼管理
2.硬體的需求程度
3.需要備份的資料多寡
4.災難復原難易度
5.時間跟費用成本

我要發表回答

立即登入回答