2017年5月23日 星期二

Laravel5+Docker Windows開發環境安裝

開發環境:WINDOWS 10 ,Ecplise(Neon.3 Release 4.6.3),PHP 5.6,Laravel 5.3
執行環境:WAMP,Docker, AWS EC2,AWS RDS


1.先在windows下載安裝composer(可以參考這裡)

2.接著安裝Laravel5

composer global require "laravel/installer"
安裝完後要記得確定把 ~/.composer/vendor/bin 路徑放置於你的 PATH 或是 開發專案 裡,這樣 laravel 執行檔就會存在於你的系統之中。

3.開啟一個新專案
     3.1 進入命令提示字元( 開始→執行  cmd )
     3.2 進入專案上層路徑( 例如 cd  c:/wamp64/www )
     3.3 輸入 composer create-project laravel/laravel laravel_test 按下enter 系統就會去建立專案所需的檔案。最後看到Application key [base64:~~~~~~~~~~~] set successfully.就表示專案已經建立完成了!

      
     3.4 測試一下local 連結http://localhost/laravel_test/public/ 會出現下圖


     
4.將此開發環境放到Docker裡去
   因為公司之後要上線的環境會以Docker的方式在AWS ECS上執行,所以就先將此專案開發環境變成一個Docker Container。
   4.1 進入Windows PowerShell只要下這個指令:
       docker run -idt --name 專案名稱 -p 8100:80 -v /你的.aws位置/.aws/:/root/.aws/ -v /你的local專案路徑/:/var/www/html/專案名稱/資料卷名稱
如 docker run -idt --name laravel_test -p 8080:80 -v C:\Users\Asus\.aws:/root/.aws/ -v  c:/wamp64/www/laravel_test/:/var/www/html/laravel_test php:5.6.30-apache
就會將此環境對應到docker container裡去。
    
     4.2 測試一下輸入local docker網址:http://localhost:8100/laravel_test/public/ 會出現跟之前一樣的畫面


     
這樣就完成了Laravel5環境的安裝了!!!

2017年5月4日 星期四

簡易Docker指令

    最近公司使用AWS ECS+Docker來開發專案.所以在這裡把一些會用到的Docker指令記錄下來。



  • 要直接在Local端Docker可以這樣下
$ docker run -idt --name container名稱 -p 7000:80 -v /你的.aws位置/.aws/:/root/.aws/ -v /你的開發專案路徑/:/var/www/html/專案名稱  要使用的資料卷名稱

資料卷可以使用自己之前就建立好的docker image或是去https://hub.docker.com/下載自己喜歡的image

  • 察看有多少container:

docker ps

  • 進入Docker操作

docker exec -ti [CONTAINER ID] bash

  • 查看有多少container image

docker image ls

  • 啟動docker container

docker start <container id>

  • 停止docker container

docker stop <container id>

  • 刪除docker container

docker rm <container id>

  • build docker container image
1.先cd到專案下有Dockerfile的路徑下
2.執行 docker build .
3.成功後會有一個image id

如果你要做出可以識別的container image的話你可以這樣改下這樣的指令
docker build . -t name:tag

name:通常是倉庫名稱 username/repository
tag:想要識別的標籤

  • 將docker container image放到一個可執行的container的環境裡

docker run -idt --name <container name> -p 7788:80 <docker container image  id>
例:docker run -idt --name Exhibition2 -p 7788:80 362cf48f3511

  • 從docker 檔案出來到local環境

docker cp <container id>:<path in container> <local file path >

  • 從local環境copy檔案到docker container裡去

docker cp <local file path>  <container id>:<path in container> 



  • 將Container Image轉存到本機端檔案
docker save container image repository >  xxxxxxx.tar