行銷人該學 Docker 嗎?我的答案是學到救得回資料就停

TL;DR

行銷人要不要學 Docker?我的答案是要,但只學三件事就停。第一是看得懂 compose 檔的四個欄位:image(哪一版,寫 latest 可能直接跳大版本)、ports(8080:80 左邊是你的機器)、environment 或 .env(預設密碼要改)、volumes(資料存在哪)。第二是壞了先看 log 不要先重裝,docker compose ps -a 找出停掉的服務,docker compose logs -n 100 看最後一百行,看不懂可以丟給 AI 但先遮掉金鑰。第三是知道資料在哪:容器刪掉時寫在容器裡的東西會消失,留得下來的是掛出去的資料,也就是具名 volume 或 ./data 這種資料夾(官方叫 bind mount),而 docker compose down -v 會連具名 volume 一起刪;資料庫要用自己的匯出指令備份,備份完要真的還原一次。學到這裡,站上大部分工具就能先在自己電腦上試起來。該停的三條線:要對外開放的服務(Docker 發布的 port 預設對外,在 Linux 上還會繞過 ufw 規則)、碰到客戶資料、開始研究網路與叢集。

  • 行銷人學 Docker,我會建議先學三件事:看得懂 compose 檔、壞了會看 log、知道資料存在哪並且會備份
  • compose 檔看懂 image、ports、environment、volumes 四欄,就能回答他佔哪個 port、密碼在哪設、資料放哪
  • docker compose down 不刪具名 volume,加上 -v 才會刪;網路上「清乾淨重來」的指令常帶著這個 -v
  • 對外開放的服務、客戶資料、開始研究網路叢集,這三條線碰到就停下來交給專業

你點進一篇開源工具的教學,前面的介紹都看得懂,捲到「怎麼裝」那段,出現一份 docker compose 檔跟一行 docker compose up -d,我猜很多人就在這裡關掉分頁。卡住的不是內容,是 Docker 這個字,一看到就覺得是工程師的事。

這不是少數情況。站上的開源工具將近六十個,大部分靠 Docker 裝,一半以上的安裝段就長這樣。所以這題我想認真回答:行銷人要不要學 Docker?

我的答案是要,但只學到一個很具體的程度,然後就停。

我說的學 Docker,範圍其實很小

Docker 官方文件很厚,網路、映像檔建置、叢集調度,一開始都可以先不碰。我會建議先學三件事:

  1. 看得懂一份 compose 檔在寫什麼
  2. 東西壞掉時,知道去哪裡看 log
  3. 知道資料存在哪裡,還有怎麼備份

我自己也還在學,只是剛好多走了幾步。我有一台伺服器跑著十個左右的服務,要我給標準,我會看每個服務能不能說得出「資料在哪、壞了先看哪裡」,懂多少底層是其次。

第一件:看得懂那份 compose 檔

compose 檔就是一張清單,告訴 Docker 要開哪幾個服務、每個怎麼開。你只要看懂四個欄位:

第一件:看得懂那份 compose 檔
欄位在講什麼要注意什麼
image哪個映像檔、哪一版寫 latest 的,更新可能直接跳大版本
ports容器的 port 接到你的機器8080:80 左邊是你機器的 8080
environment 或 .env密碼、網址、金鑰範例檔的預設密碼記得改
volumes資料存在哪裡沒寫好,容器重建後資料可能不見

看懂這四欄,你就能回答:他佔我哪個 port、密碼在哪設、資料放哪。

舊教學的 docker-compose(中間有連字號)多半是 2014 年的第一版,現在官方用的是中間空格的 docker compose,舊指令通常換成空格就能跑,版本顯示 v5 開頭也不是裝錯。

第二件:壞了先看 log,不要先重裝

很多人的第一反應是砍掉重裝,重裝三次還是一樣,然後放棄。答案常常就寫在 log 裡,兩行指令就夠:

往最後幾行找 error、denied、already in use、out of memory,大概就知道是密碼錯、port 被佔,還是記憶體不夠。看不懂就把那幾十行丟給 AI 解釋,只是 log 常印出金鑰或連線字串,要先遮掉,這跟 把客戶名單丟進 ChatGPT 之前 是同一個道理。

更好的是讓他掛掉時自己通知你,這是 Uptime Kuma 在做的事。

第三件:資料存在哪,這題最重要

如果只能學一件,我會選這件。

Docker 的容器是拿來丟的。官方文件寫得很直白:容器被刪掉時,寫在容器裡的東西會跟著消失。留得下來的是掛出去的資料:具名 volume,或 ./data 這種資料夾(官方叫 bind mount)。

第一,你的資料在哪。 寫成 ./data 的,資料就在你的資料夾裡;取了名字的具名 volume 由 Docker 自己管,在電腦的資料夾裡不好找,Docker Desktop 的 Volumes 頁面看得到內容,登入後也能匯出。兩種都行,重點是說得出是哪一種。

第二,那個 -v 是刪資料的! docker compose down 收掉容器跟網路,具名 volume 還在;加上 -v 就會連 compose 檔宣告的具名 volume 一起刪。網路上「清乾淨重來」的指令常帶著這個 -v,照抄前先看一眼。

備份分兩層:一般檔案直接打包資料夾或 volume;資料庫用他自己的匯出指令(PostgreSQL 是 pg_dump),PostgreSQL 文件寫了,直接複製資料檔要先停掉資料庫,備份才能用。

最後一步很常被跳過:找一台別的機器真的還原一次。沒還原過的備份,只是一個讓你安心的檔案。試用期怎麼先測資料帶不帶得走,我另外寫了一篇。

學到這裡,你可以做什麼

三件都會了,站上用 Docker 裝的工具,你多半能自己在電腦上試起來。Windows 或 Mac 裝 Docker Desktop 就能開始,Windows 通常要先開 WSL 2,員工 250 人以上或年營收一千萬美元以上的公司要付費。

先在自己電腦上跑最小的版本,用一兩個禮拜,確定會天天打開再考慮上伺服器。該不該搬,我整理成 決定要不要自架的五個問題;要搬而且不只一個服務,可以看 Coolify 教學。

什麼時候該停

學 Docker 最危險的時刻,是學到一半以為自己會了。我心裡有三條線,碰到就停下來找專業的人:

第一條:要對外開放的服務。 Docker 官方文件寫了,發布的 port 預設不安全,外面也連得到;Linux 上用 ufw 當防火牆,流量還會在 ufw 規則之前就被轉走,你以為擋住了,其實沒有。只給自己用的,ports 寫成 127.0.0.1:8080:80 就只有本機連得到(Docker 28 以前的版本同一個區網還連得到,記得更新),自己電腦上試也這樣寫。要讓客戶或陌生人連進來,就是資安的事了。

第二條:碰到客戶資料。 名單、訂單、個資,出事要有人負責的,就不該放在一台「我自己學著架的」機器上。這是責任問題,不是技術問題。

第三條:開始研究網路、叢集、負載平衡。 這已經是工程師的地盤,想學可以,先問自己值不值得花這個時間。自架真正的成本在注意力,這筆帳我算在 自架的帳單,不在 VPS 那一欄。

學到剛好,是把判斷拿回來

行銷人學 Docker,目的不是履歷上多一項技能,是少一種害怕。看到 docker compose up 不再關分頁,壞了知道先看哪裡,資料在哪說得出來,工具就變成你可以自己試、自己判斷的東西。

會被取代的是操作,留下來的是判斷。工具試完之後怎麼真的放進工作流,我整理在 AI101。

覺得有用?分享給需要的人 👇
何佳勳的觀點

我自己這幾年最深的體悟是:會被 AI 取代的是工具操作,留得下來的是判斷力。當定價被壓縮、護城河被打穿,行銷人能賣的只剩判斷,不是會不會用軟體。

何佳勳的觀點

我自己也還在踩這條路,只是剛好多走了幾步。所以我寫東西寧可坦白「我吸收能力有限,卡點都在我自己身上」,也不裝得道高人。跟讀者站同一隊,比站在講台上更能被聽進去。

何佳勳的觀點

我自己在學 AI 工具的方法,就是先動手做出一個小到不能再小的版本,再回頭優化。我寫教學也照這個邏輯,與其解釋一個技巧,不如用文章本身的形式直接演給讀者看,看到比讀到多十倍說服力。

想把觀點變成實際產出?

讀完觀點,下一步是動手。免安裝的線上工具讓你 30 秒內就把想法做成內容。

免費試用 AI101 挑戰平台 →

常見問題

行銷人學 Docker 要學到什麼程度?

學到三件事就夠:看得懂 compose 檔的 image、ports、environment、volumes 四個欄位;服務壞掉時會用 docker compose ps -a 和 docker compose logs 找原因;知道資料存在哪個 volume 或資料夾,並且會備份與還原。學到這裡,多數提供 docker compose 安裝方式的開源工具,就能先在自己電腦上試起來。要對外開放服務、處理客戶資料或研究網路叢集時,就該交給專業的人。

docker compose down 會把資料刪掉嗎?

具名 volume 預設不會被刪。docker compose down 會移除 compose 檔裡服務的容器和網路,但具名 volume 會保留;加上 -v 參數才會把 compose 檔 volumes 區塊宣告的具名 volume 和容器上的匿名 volume 一起刪除。有兩件事要注意:直接寫在容器內、沒有掛出去的資料,容器被移除時就跟著消失;匿名 volume 雖然預設不會被刪,但因為沒有固定名字,下次 docker compose up 不會自動掛回去。要長期留下來的資料,請用具名 volume,或 ./data 這種資料夾掛載(官方叫 bind mount)。

公司用 Docker Desktop 要付費嗎?

看公司規模。依 Docker 官方授權說明,個人使用、教育用途、非商業開源專案,以及員工少於 250 人而且年營收低於一千萬美元的小型企業可以免費使用 Docker Desktop。超過門檻的公司與政府單位要購買 Pro、Team 或 Business 訂閱。這條規定針對的是 Docker Desktop,官方也註明 Docker Engine 這類開源專案的授權條款沒有改變。