使用 makefile 管理 docker-compose

ponponon發表於2022-02-14

docker-compose 的命令太長了,累手累腦。

我們可以使用 make 來幫助我們節約生命。畢竟四個字母可以比一堆字母好記。

make 封裝了四個最常用的功能:

  • build 構建映象
  • up (後臺)執行服務
  • stop 停止服務
  • logs 檢視增量日誌

Makefile 檔案可以這麼寫:

NAME = ponponon/ideaboom
VERSION = 1.0.1

.PHONY: build up stop logs

build:  docker-build
up: docker-compose-up
stop: docker-compose-stop
logs: docker-compose-logs

docker-build:
    docker build -t "${NAME}" .

docker-compose-up:
    docker-compose up -d

docker-compose-stop:
    docker-compose stop

docker-compose-logs:
    docker-compose logs --tail=100 -f
  • NAME = ponponon/ideaboom 就是你要打包成的映象名字。可以用 / 的,是合法的
  • VERSION 隨便,沒有意義
  • .PHONY 參考:makefile .PHONY用法
  • build 就是用來構建映象,你要 git pull 之後就可以直接 make build 了,而不需要 docker build -t ponponon/ideaboom 這麼一長串命令。
  • up 就是重啟容器們。
  • logs 最重要,可以檢視標準輸出,就用來看日誌呢。--tail=100 -f 的意思就是,先看末尾的 100 行,然後一直持續輸出。相當於 tail 命令的 -n-f 的結合體。不想看了就 ctrl+c 退出
makedocker 是沒有一點關係的,這裡用 Makefile 只是起一個命令簡化作用

相關文章