Docker: 快速開始

使用 Stackhero for Docker 進行快速且安全的遠端 Docker 管理

歡迎來到 Stackhero 文件中心

Stackhero 提供一個即時可用的 Docker 雲端 CaaS(Containers as a Service) 平台,專為快速且可靠的容器部署而設計:

  • 只需一行 docker-compose up 指令即可部署到生產環境。無需額外設定:直接啟動您的容器即可。
  • 自行選擇您的網域名稱,系統會自動以 HTTPS 進行安全防護(例如:https://api.your-company.comhttps://www.your-company.comhttps://backoffice.your-company.com)。
  • 享有高效能與強大安全性的專屬私有基礎架構。
  • 一鍵套用更新,讓維護變得簡單且省時。

您的容器大約五分鐘內即可在生產環境上線。Stackhero 為您管理基礎架構、更新與安全性,讓您能專注於應用程式的交付。深入了解 Docker CaaS 雲端主機服務

您的電腦必須已安裝 Docker CLI。 如果尚未安裝,請至官方 Docker 網站下載:Docker Desktop

透過 Stackhero for Docker,您可以像在本地一樣,使用 Docker CLI 遠端管理您的容器。這代表您可以維持熟悉的工作流程,同時直接在具備生產環境等級的 Docker 伺服器上執行指令,安全又高效。

Docker 的「context」(上下文)功能讓這一切成為可能。Context 讓您指定 Docker CLI 指令要發送到哪裡:本地 Docker daemon,或是您的 Stackhero for Docker 實例。切換 context 既快速又無縫。

為了安全連線到您的 Stackhero for Docker 實例,您需要將該實例的憑證安裝到您的電腦。這些憑證負責認證與加密,確保您的連線私密且受到保護。

您可以使用以下指令下載並安裝憑證:

# HOST 是您的 Docker 實例網域名稱 (<XXXXXX>.stackhero-network.com)。
# SERVICE_ID 是您的 Stackhero 服務 ID。
# CERTIFICATES_PASSWORD 是您在 Stackhero 控制台 Docker 設定中定義的密碼。
(export HOST="<XXXXXX>.stackhero-network.com"
export SERVICE_ID="<SERVICE_ID>"
export CERTIFICATES_PASSWORD="<CERTIFICATES_PASSWORD>"

cd /tmp/ \
  && curl -o certificates.tar https://docker:$CERTIFICATES_PASSWORD@$HOST/stackhero/docker/certificates.tar \
  && tar -xf certificates.tar \
  && (docker context rm -f $HOST 2> /dev/null || true) \
  && docker context create $HOST \
    --description "$SERVICE_ID ($HOST)" \
    --docker "host=tcp://$HOST:2376,ca=ca.pem,cert=cert.pem,key=key.pem")

此指令會建立一個以您的服務網域命名的 Docker context。您可以透過下列指令查看所有可用的 context:

docker context ls

如果您更新了服務網域,憑證也會隨之變更。您需要重新安裝憑證才能安全重新連線。

預設情況下,執行 docker ps 會顯示本機上的容器。例如,執行:

docker run --rm alpine wget -q -O - ifconfig.me

會回傳您本機的公開 IP,因為容器是在您的電腦上執行。

若要進行遠端操作,請將 Docker context 切換至您的 Stackhero for Docker 實例:

docker context use <XXXXXX>.stackhero-network.com

此時,所有 Docker CLI 指令都會在您的遠端 Docker 伺服器上執行。再次執行相同的 IP 查詢指令:

docker run --rm alpine wget -q -O - ifconfig.me

將會顯示您的 Stackhero for Docker 實例的公開 IP,這表示您的容器已在遠端伺服器上運行。

若要切換回本地 Docker daemon,只需執行:

docker context use default

當您在遠端容器掛載 volume 時,所存取的檔案來自遠端伺服器,而非您的本機。 例如,docker run -it -v ${PWD}:/mnt alpine 會掛載遠端目錄,而不是您目前本機的目錄。

Docker Compose 也會使用目前的 Docker context。當您將 context 設定為遠端實例後:

docker context use <XXXXXX>.stackhero-network.com

所有 Docker Compose 指令都會在您的遠端伺服器上執行。這讓您可以像在本地一樣輕鬆部署多容器應用,但實際上是在生產環境中運作。

使用 docker context 切換 context 適合互動式操作。若用於腳本或 Makefile,建議使用 DOCKER_CONTEXT 環境變數以獲得更細緻的控制。更多細節請參閱我們的進階文件。

如需更深入了解 Docker context,請參考 官方 Docker context 文件