在 Mac 安裝 Docker Desktop

在 Mac 安裝 Docker Desktop
Photo by Dawit / Unsplash

換了新的 Mac,趁著是乾淨的環境,把安裝過程記錄下來,方便未來查找。

使用 brew 進行安裝,所以開始前需要先為 mac 安裝 brew,在 terminal 執行以下指令:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

接著就可以安裝 Docker 了

brew install --cask docker

(安裝過程中可能需要輸入當前登入帳號的密碼)

正常安裝成功,應該會看到如底下圖片的 "docker was successfully installed!

接著將 docker desktop 打開 (也可以到應用程式找小鯨魚點擊開啟)

open -a docker

過程中會有一些互動確認,先都使用預設設定,完成後基本上 docker daemon 的狀態也是運行中了
最後,在終端機試著 run hello-world image 確認服務正常

docker run hello-world

這個指令會先檢查本機有沒有 hello-world 這個 image,如果沒有的話,會提示訊息,並到 Docker Hub 上下載來本機,再使用這個 image 運行一個 container,container 運行起來只是 Say 個 Hello 就關閉了

確認安裝的服務正常沒問題後,把 hello-world 的 container 和 image 刪除 (個人習慣把沒有要使用的 container 和 image 移除)

刪除 container

  • 查看 container
    docker ps 指令可以查看運行中的 container,但剛剛我們提到了這個 container 執行完要做的事就關閉了,如果想查看不論是否運行中的 container,需要加上 -a 這個 option 全部顯示 (docker ps -a),指令執行後的輸出會類似如下的圖片,接著我們就可以透過 CONTAINER ID 或 NAME 來操作 container
  • 刪除指定的 container
    刪除 continer 時,需確認 container 是停止的,才能直接刪除,如果是還在運行的,就需要先透過 docker stop ${container_name} 的方式停止 container,再執行 docker rm ${container_name} 刪除

刪除 image

  • 查看本機目前有哪些 image
    docker images
  • 刪除指定的 image
    docker rmi ${image_repository}:${image_tag}

Read more

桌面上的筆電顯示程式碼,旁邊放著咖啡杯,象徵日常部署與開發工作流

[紀錄] OpenClaw 部署指定模型

上一篇先記了我初試 OpenClaw 的過程,這一輪則是把原本的 docker compose 再往前補一些,順手把預設模型也一起放進去。 這次選擇的是 Ollama,預設模型設成 minimax-m2.5:cloud。 原本以為把 .env 補好、compose 啟動,接著就能開始用了。做了才知道事情沒有我想得順利,仍然還是需要手動進 container 執行指令。 因為這次在 docker compose 想放進預設模型,所以整個配置也跟著多補了一些。原本比較單純的 OpenClaw 部署,後來變成 openclaw + ollama 的配置,讓 OpenClaw 啟動後能直接接上模型。 不過模型名稱先放進去,事情也沒這麼順。 Ollama 要使用 cloud model 得先登入。第一次啟動後,要先進到 Ollama 容器裡跑

By Jo Assistant, Jo
[紀錄] 初試 OpenClaw

[紀錄] 初試 OpenClaw

夯了很久的 OpenClaw,近期開始出現了退安裝潮,我卻正要開始嘗試使用。 前幾天花了一點時間簡易安裝看看傳說中的龍蝦 (OpenClaw) 要怎麼用,略有點覺得值得再往後嘗試時,才開始認真看看安裝方式,在小心為上的前提下,我採用 docker 建置在自己閒置的電腦。 在 docker-compose.yaml 的準備過程,原先只是不斷試錯調整,過了好段時間才有點意識到該好好利用身邊的資源,於是集幾個 AI 模型問答之大成來建置初版,當 OpenClaw 建起來後,又透過跟它的互動,協助我寫一版可整合 Discord 的 Openclaw docker-complase.yaml 自用。(參考) Gateway Token & Pairing 如果沒有特別改設定,當啟動 container 後,透過 http://localhost:16789 會導向登入頁 登入時會遇到 2 個情況

By Jo
Data Platform 筆記#02:從可行到可承接

Data Platform 筆記#02:從可行到可承接

在初版架構逐漸成形後,時間也差不多過了一年。 架構可以跑、資料可以流動,但我仍然不確定它能不能真正落地。這條路必須要團隊可以承接、可以擴展,數據才有機會真正發揮價值。 很慶幸的是,我的主管願意投資時間,讓這個方向能繼續推進。也正是在那段時間,我的思考開始出現轉變... 前一篇的重點,是讓流程從「能跑」走向「能持續」。 而接下來我開始思考:如果這件事要由團隊一起做下去,現在的做法夠不夠讓人接手? 轉變的核心 回頭看那一年,大多數時間其實是在解問題。 但接下來,我該解的是另一個問題:怎麼讓別人不用再解一次同樣的問題? 於是投入了約莫三個月、壓力值很高的一段時間,開始把原本依賴個人經驗與記憶的做法,收斂成可以被團隊理解與複製的形式。 這個收斂,後來具體落在幾個方向上: * 把 Data Center 的部署方式收斂成一致做法,降低環境轉換成本 * 把資料整理作業轉變為配置驅動,讓流程與部署有規則可循 * 整理 DDL 轉換規則與範本,讓團隊能共用同一套方法 * 把知識系統化交付出去 這些事情的唯一核心是 讓方法大於個人。 從個人經驗,到規則明確 第一個改變:

By Jo