# 【Docker】上傳自己的 Docker image 到 Docker Hub

要上傳自己的 Docker image 到 Docker Hub，請按照以下步驟操作：

### 1. 登入 Docker Hub

確保你的電腦已經安裝了 Docker，然後使用以下命令登入 Docker Hub：

```sh
docker login

```

系統會要求輸入你的 Docker Hub 帳號和密碼。

### 2. 建立 Docker Image

如果你還沒有 Docker image，可以使用 `docker build` 指令來建立：

```sh
docker build -t <你的DockerHub帳號>/<image名稱>:<tag> .

```

例如：

```sh
docker build -t myusername/myapp:v1 .

```

這樣就會建立一個 `myusername/myapp` 的 image，標籤（tag）為 `v1`。

### 3. 標記 (Tag) Image

如果你已經有一個本地的 image，但還沒有加上 Docker Hub 的 repository 名稱，你需要先標記它：

```sh
docker tag <本地image ID或名稱> <你的DockerHub帳號>/<image名稱>:<tag>

```

例如：

```sh
docker tag myapp:latest myusername/myapp:v1

```

### 4. 推送 (Push) Image

將 image 推送到 Docker Hub：

```sh
docker push <你的DockerHub帳號>/<image名稱>:<tag>

```

例如：

```sh
docker push myusername/myapp:v1

```

### 5. 確認上傳成功

你可以到 [Docker Hub](https://hub.docker.com/) 查看你的 repository，或者在其他機器上使用以下命令來拉取（pull）該 image：

```sh
docker pull myusername/myapp:v1

```

### 常見問題

1. **登入失敗**：
    
    
    - 如果 `docker login` 失敗，可以先在 Docker Hub 上確認你的帳號密碼是否正確。
    - 如果你使用的是 Docker Hub 產生的 Access Token，請在密碼欄位輸入該 Token。
2. **推送失敗，沒有權限 (denied: requested access to the resource is denied)**：
    
    
    - 確保你的 image tag 是 `你的DockerHub帳號/你的image名稱`，而不是本地的名稱。
    - 使用 `docker login` 確保你已登入正確的帳號。

這樣你就能成功上傳自己的 Docker image 到 Docker Hub 了！ 🚀