Docker: 快速開始
使用 Stackhero for Docker 進行快速且安全的遠端 Docker 管理
歡迎來到 Stackhero 文件中心
Stackhero 提供一個即時可用的 Docker 雲端 CaaS(Containers as a Service) 平台,專為快速且可靠的容器部署而設計:
- 只需一行
docker-compose up指令即可部署到生產環境。無需額外設定:直接啟動您的容器即可。- 自行選擇您的網域名稱,系統會自動以 HTTPS 進行安全防護(例如:https://api.your-company.com、https://www.your-company.com 或 https://backoffice.your-company.com)。
- 享有高效能與強大安全性的專屬私有基礎架構。
- 一鍵套用更新,讓維護變得簡單且省時。
您的容器大約五分鐘內即可在生產環境上線。Stackhero 為您管理基礎架構、更新與安全性,讓您能專注於應用程式的交付。深入了解 Docker CaaS 雲端主機服務。
如何遠端使用 Docker CLI
您的電腦必須已安裝 Docker CLI。 如果尚未安裝,請至官方 Docker 網站下載:Docker Desktop。
透過 Stackhero for Docker,您可以像在本地一樣,使用 Docker CLI 遠端管理您的容器。這代表您可以維持熟悉的工作流程,同時直接在具備生產環境等級的 Docker 伺服器上執行指令,安全又高效。
Docker 的「context」(上下文)功能讓這一切成為可能。Context 讓您指定 Docker CLI 指令要發送到哪裡:本地 Docker daemon,或是您的 Stackhero for Docker 實例。切換 context 既快速又無縫。
安裝 Docker 憑證
為了安全連線到您的 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 容器
預設情況下,執行 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 Compose 也會使用目前的 Docker context。當您將 context 設定為遠端實例後:
docker context use <XXXXXX>.stackhero-network.com
所有 Docker Compose 指令都會在您的遠端伺服器上執行。這讓您可以像在本地一樣輕鬆部署多容器應用,但實際上是在生產環境中運作。
使用
docker context切換 context 適合互動式操作。若用於腳本或 Makefile,建議使用DOCKER_CONTEXT環境變數以獲得更細緻的控制。更多細節請參閱我們的進階文件。
如需更深入了解 Docker context,請參考 官方 Docker context 文件。