iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 25
1
自我挑戰組

Laravel 實戰經驗分享系列 第 25

Laravel 實戰經驗分享 - Day25 Dockerize 你的 Laravel 專案(上)

  • 分享至 

  • xImage
  •  

想不到倒數五天的日子來的這麼快 XD,其實還有很多 Laravel 的用法我還沒有很精熟,所以不好意思放上來,之後有機會再放到自己的部落格跟大家分享,今天來淺談一下 Docker 的用法。
其實這有點老生常談了,Docker 在現今的開發中已經是標配,不過敝司也是在今年才算正式導入,差不多就是我在剛入職的時候,所以那陣子也略有一些研究,趁著這次鐵人賽整理一下。

何謂 Docker?

Docker 是一個容器化的技術,他將作業系統層虛擬化,讓你所建置的環境能夠更輕便的被利用或是轉移,相較傳統需要另外安裝作業系統或是虛擬機的方法能夠更有效的利用伺服器。
不曉得你是否有遇過這個狀況,就是在本機試都沒問題,但是將整個專案放到其他機器上就發生了錯誤,而 Docker 的到來也解決了這種環境不相同而造成的問題。


Docker 架構,轉貼自 https://www.cloudsigma.com/manage-docker-resources-with-cgroups/

Docker 內部架構簡介

  • Docker Images (映像檔)
    一個映像檔可以包含輕量化的 ubuntu 作業系統環境,裡面僅安裝了使用者需要的其它應用程式。
    Images 可以用來建立 Docker 容器執行應用程式。
  • Docker Container (容器)
    Docker 利用容器來執行應用程式。
    容器是從映像檔建立的執行實例。它可以被啟動、開始、停止、刪除。每個容器都是相互隔離的平台。
    可以在容器內執行 Linux 環境(包括root使用者權限、程式空間、使用者空間和網路空間等)和在其中執行的應用程式。
  • Docker Volume
    Volume 可以將容器間的資料共享和重用
    對 Volume 的修改會立馬生效
    對 Volume 更新不會影響映像檔

Dockerfile

Dockerfile 是用來建立 Docker Image 的檔案,你可以將 Docker Image 想像成是一個光碟,而這片光碟內需要有哪些元素或需要安裝的東西,就寫在 Docekrfile 這個檔案內,而以下是較常用到的指令:
- FROM 為 Dockerfile 的第一個指令,決定你所要安裝的環境版本,可至 Docker Hub 尋找適合的 images
- RUN 在這個環境所要執行的指令,通常 images 給的環境較為輕量化,因此會透過 RUN 指令進行相關套件的安裝
- ENV 設定環境變數
- EXPOSE 該環境啟動後所要使用的 port
- CMD 設定 container 啟動時預設要執行的指令

今天很偷懶的富奸了,詳細的使用方法,我們明天再來解說囉~


上一篇
Laravel 實戰經驗分享 - Day24 過濾從 HTTP 來的 requests - Middleware
下一篇
Laravel 實戰經驗分享 - Day26 Dockerize 你的 Laravel 專案(下)
系列文
Laravel 實戰經驗分享30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言