9.1 發佈映像檔:指令 docker push
你應該已經知道,Docker Hub 是一個雲端平台,用於儲存、共享和管理 Docker 映像檔。在這裡,開發者可以輕鬆與同事共享他們的映像檔,或將其公開給更廣泛的受眾。使用 Docker Hub 的方式有點像使用 Git。主要的指令是 docker push 和 docker pull。在本節課中,我們將討論如何使用這些指令來發佈和下載 Docker 映像檔。
docker push 指令 用於將本地的 Docker 映像檔發佈到 Docker Hub。在發佈映像檔之前,請確認它已被標記(tag),標記中需包含你在 Docker Hub 的用戶名。
發佈映像檔的步驟
步驟 1. 建立 Docker 映像檔:
如果你還沒有建立映像檔,可以使用 docker build 指令來建立。
docker build -t myapp:latest .
步驟 2. 標記映像檔:
若要在 Docker Hub 發佈映像檔,需要用你的 Docker Hub 用戶名來標記映像檔。
docker tag myapp:latest yourusername/myapp:latest
步驟 3. 發佈映像檔:
使用 docker push 指令將映像檔發佈到 Docker Hub。
docker push yourusername/myapp:latest
範例:
docker build -t myapp:1.0 .
docker tag myapp:1.0 yourusername/myapp:1.0
docker push yourusername/myapp:1.0
9.2 加載映像:指令 docker pull
指令 docker pull 用於從 Docker Hub 下載映像到你的本地機器上。這讓你可以訪問由其他用戶或你的團隊發佈的映像。
加載映像的步驟
步驟 1. 搜索映像:
使用指令 docker search 來搜索你需要的映像在 Docker Hub 上。
docker search nginx
步驟 2. 加載映像:
使用指令 docker pull 將映像加載到你的本地機器上。
docker pull yourusername/myapp:latest
範例:
docker pull nginx:latest
9.3 完整範例
完整的發佈和下載映像檔工作流程範例:
步驟 1: 構建映像檔
為你的應用程式創建 Dockerfile。例如,對於 Node.js 應用程式:
# 使用 Node.js 的基底映像檔
FROM node:14
# 設置工作目錄
WORKDIR /app
# 複製 package.json 並安裝依賴
COPY package*.json ./
RUN npm install
# 複製應用程式的其他程式碼
COPY . .
# 開放埠
EXPOSE 3000
# 啟動應用程式
CMD ["node", "app.js"]
使用 docker build 指令來構建映像檔。
docker build -t mynodeapp:latest .
步驟 2: 標籤化映像檔
使用你的 Docker Hub 使用者名標籤化映像檔。
docker tag mynodeapp:latest yourusername/mynodeapp:latest
步驟 3: 發佈映像檔
將映像檔發佈至 Docker Hub。
docker push yourusername/mynodeapp:latest
步驟 4: 下載映像檔
現在其他用戶或你的同事可以在自己的本地機器上下載這個映像檔。
docker pull yourusername/mynodeapp:latest
步驟 5: 從下載的映像檔啟動容器
下載映像檔之後,你可以基於它啟動容器。
docker run -d -p 3000:3000 yourusername/mynodeapp:latest
GO TO FULL VERSION