# Private

官方的 Registory 就在公有的位置，除此之外，我們也可以在想到的地方建立私有的倉庫。

最簡單的方式就是透過 docker-registry 這個官方提供用於建立私有倉庫的 image

### 只需透過以下指令

```bash
sudo docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry
```

#### 從以上指令可以看到：

> 1. **private registory 預設使用 5000 port**
> 2. **image 存在 `/tmp/registry`**

### 查詢 images

> #### 查詢本地所有的 image 透過:

```bash
docker images
```

> #### 查詢 Registry上所有的 image

```bash
curl -X GET http:<IP>:5000/v2/_catalog
```

> #### 查詢 Registry 上 image 的詳細資訊

```bash
# 查tag
curl -X GET http:<IP>:5000/v2/<image>/tags/list

# 查詳細資訊
curl -X GET http:<IP>:5000/v2/<image>/manifests/latest
```

> #### 上傳 image

```bash
docker tag <image-name> <IP>:5000/<image-name>
docker push <image-name> <IP>:5000/<image-name>
```

> #### 下載 image

```bash
docker pull <IP>:5000/<image-name>
```

詳細的 docker registry RESTful API 可以看這篇:

[https://docs.docker.com/registry/spec/api/#detail](https://docs.docker.com/registry/spec/api/#detail)



