Docker Compose | docker compose volumes用法
在介紹Dockerfile[1]的用法之後,本文中將繼續談談關聯性相當高的「DockerCompose」用法,不過進入主題之前,讓我們先來搞清楚Dockerfile和DockerCompose有什麼差別?以我個人的理解,可以用以下簡單的方式去解釋:(觀念有錯的話請留言告之)註:這篇文章原本應該在介紹完Dockerfile之後就撰寫,不過時間上真的有點不允許,所以整整遲了快二年才發佈,希望對大家還是有幫助XD簡單的來說,Dockerfile是用來描述一個映像檔應該長的什麼樣子,而DockerCompose則是用來描述一個Service(服務)應該怎麼來組成,例如:在架設網站的時候你可能...
在介紹Dockerfile[1]的用法之後,本文中將繼續談談關聯性相當高的「 Docker Compose 」用法,不過進入主題之前,讓我們先來搞清楚Dockerfile和Docker Compose有什麼差別?以我個人的理解,可以用以下簡單的方式去解釋:(觀念有錯的話請留言告之)
註:這篇文章原本應該在介紹完Dockerfile之後就撰寫,不過時間上真的有點不允許,所以整整遲了快二年才發佈,希望對大家還是有幫助 XD
簡單的來說,Dockerfile是用來描述一個映像檔應該長的什麼樣子,而Docker Compose則是用來描述一個Service(服務)應該怎麼來組成,例如:在架設網站的時候你可能會用到Tomcat、MySQL等不同的容器,而Docker Compose的描述檔就是用來設定這些容器之間的關聯,諸如誰要先啟動、Port要怎麼設定等等的,用Docker Compose的方式可以一次帶起所有的服務 (即管理多個Container),不需要一個一個執行
官方範例Docker Compose標準的配置檔案(docker-compose.yml)是採用YAML的格式撰寫,內容大概如下所示(此內容取自官方參考範例[2]),每個Service可以視為一個Container,也就是一個服務,以此範例來說,這個組態檔中定義了db、wordpress所需要服務設定。註:YAML的撰寫規範不在本文的說明當中,例如空格、對齊、Key/Value、大小寫等等的用法,請自行注意或參考網路上的文件說明
# 官方範例 version: 3.3 services: db: # 服務名稱一,可自訂名稱 image: mysql:5.7 volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: ...