Docker Registry 是一個用於存儲和分發 Docker 映像檔的服務器。它可以讓用戶自己託管映像檔,也可以從公共映像檔庫中拉取映像檔。在此提供一個基於 Docker Compose 的 Docker Registry 教學。
docker login
是 Docker CLI 提供的指令,可以讓你登入到 Docker registry 並建立認證憑證,以便你可以在該 registry 上 push 或 pull Docker image。docker login <registry>
其中 <registry>
是指你要登入的 Docker registry 的位置。例如,如果你要登入 Docker Hub,則 <registry>
不用填,
在課程中,我們用私有倉庫:https://docker-registry.3anology.info
。
docker logout <registry>
注意事項:
docker login
指令中加上 registry 的位置。image : node-red-test
version: '3'
services:
registry: # 容器名稱為 registry
image: registry:2 # 使用 registry:2 的映像檔
ports:
- "15000:5000" # 將容器內部的 5000 Port 對應到主機的 15000 Port
volumes:
- /volume1/docker/docker-registry/data:/var/lib/registry # 掛載主機上的 /volume1/docker/docker-registry/data 目錄到容器內的 /var/lib/registry 目錄
- /volume1/docker/docker-registry/config:/auth # 掛載主機上的 /volume1/docker/docker-registry/config 目錄到容器內的 /auth 目錄
environment:
REGISTRY_AUTH: htpasswd # 啟用 htpasswd 的驗證方式
REGISTRY_AUTH_HTPASSWD_PATH: /auth/htpasswd # 指定驗證檔案為容器內的 /auth/htpasswd
REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm # 設定驗證領域為 Registry Realm
htpasswd: # 容器名稱為 htpasswd
image: xmartlabs/htpasswd # 使用 xmartlabs/htpasswd 的映像檔
command: -Bbn 3anology hNhHrGxzbXL4 # 執行 htpasswd 指令,建立名稱為 3anology 密碼為 hNhHrGxzbXL4 的使用者帳號
volumes:
- /volume1/docker/docker-registry/auth:/config # 掛載主機上的 /volume1/docker/docker-registry/auth 目錄到容器內的 /config 目錄
environment:
HTPASSWD_FILE: /config/htpasswd # 指定 htpasswd 檔案為容器內的 /config/htpasswd
HTPASSWD_USERNAME: 3anology # 設定帳號名稱為 3anology
HTPASSWD_PASSWORD: hNhHrGxzbXL4 # 設定帳號密碼為 hNhHrGxzbXL4
or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing