「撰寫完 dockerfile → 轉成映像檔 → 建立容器」的流程雖說不複雜,但隨著要建立的容器一多,中間的相關性管理便會成為一大考驗。
使用者可以撰寫 dockerfile,來讓產生映像檔的流程自動化。撰寫完畢後,使用 docker build 來建立映像檔
編寫出的檔案為 .yml 格式。撰寫完畢後,可以使用 docker-compose up / down 來輕鬆啟用、刪除多個容器。
這邊以 Day15 - 撰寫一個 dockerfile,和 vue-cli 服務進行整合開發 裏頭的 vue 專案為例,接下來建立容器的指令操作,就可以由 docker-compose.yml 代勞。
version: "3"
services:
vue:
image: docker-vue-test
volumes:
- "<本機端的 docker-vue-test 絕對路徑>:/app"
expose:
- 8080
ports:
- 1234:8080
上面的內容效力等價於以下指令:
docker run -it -p 1234:8080 -v <本機端的 docker-vue-test 絕對路徑>:/app docker-vue-test
當你用 dockerfile 建立好 docker-vue-test 映像檔後,接下來需
docker-compose up
來新增容器docker exec -it <容器名稱或是 ID> sh
來進入容器內的 /app 資料夾npm run serve
就完成了