Docker Cloud 網站有提供一個註冊處(registry)功能,可以讓使用者上傳自己製作的 Docker 影像(image),分享給其他人下載(或是自己使用),看起來有點類似 GitHub,只是它裡面放的東西都是已經建立好的 Docker 影像(images)。
在註冊處(registry)中會包含許多個套件庫(repositories),而每個套件庫又包含了許多的 Docker 影像(images),我們可以在帳號的註冊處(registry)中建立好多個套件庫(repositories),方便管理不同類型的 Docker 影像(images)。
首先請到 Docker Cloud 網站註冊一個帳號(它是免費的),然後在自己的系統上使用 docker
指令登入:
docker login
Docker 預設就會使用 Docker Cloud 網站的註冊處(registry),所以執行這行指令之後,就可以直接輸入 Docker Cloud 帳號與密碼來登入。
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one. Username: guozhaowang Password: Login Succeeded
登入成功之後,就可以準備上傳自己的 Docker 影像了。
在上傳影像之前,我們要先把自己製作的 Docker 影像(image)掛上比較正式的名稱,習慣上 Docker 的影像(image)名稱會以這樣的格式命名:
username/repository:tag
username
就是自己的帳號名稱,而 repository
與 tag
則是自己命名的套件庫與標籤名稱,建議使用比較有意義的字眼來命名,例如 guozhaowang/gtwang-demo:part1
。
決定好名稱之後,使用 docker
的 tag
指令將 Docker 影像(image)標上指定的名稱:
docker tag friendlyhello guozhaowang/gtwang-demo:part1
接著再看一下目前的 Docker 影像(images)列表:
docker images
從這裡就可以看到 Docker 影像列表多了一筆新的 guozhaowang/gtwang-demo
,接著上傳這一個 Docker 影像:
docker push guozhaowang/gtwang-demo:part1
將 Docker 影像(image)放上 Docker Cloud 之後,我們就可以在其他台電腦中直接使用這個 Docker 影像(image):
docker run -p 4000:80 guozhaowang/gtwang-demo:part1
執行時 Docker 會自動從套件庫中下載需要的 Docker 影像(image)來執行。
不管使用者在哪裡執行這個 Docker 影像(image),Docker 都會自動下載應用程式所需要的執行環境(例如 Python)與 requirements.txt
所列的套件,使用者只需要準備基本的 Docker 環境即可。
參考資料:Docker