Docker Hub
Docker官方維護了一個公共倉庫Docker Hub,其中已經包括了數量上百萬的鏡像,大部分需求都可以通過在Docker Hub 中直接下載鏡像來實現。
登錄的話 在本地直接 docker login ,退出就是 docker logout,但是注意一點就是docker密碼會被明文存儲在/root/.docker/config.json這個位置(base64)。我這邊也測試了一下,退出之後那個位置裏面的密碼就被刪除了,這個書上沒寫,可以自己測試下。
拉取鏡像 docker search
docker search centos 查找關鍵詞是centos的鏡像
有很多關鍵字 鏡像名字、描述、收藏數、是否官方創建(OFFICIAL)、是否自動創建(AUTOMATED)。
根據是否是官方鏡像,可將鏡像分爲兩類。
一種是類似centos這樣的鏡像,被稱爲基礎鏡像或根鏡像。Docker公司創建維護,往往使用單個單詞作爲名字。
另一種類型,xxxx/centos 鏡像,這種是用戶維護的,前面通常是用戶名稱。
Ps: 查找的時候可以通過 --filter=stars=N 參數指定僅顯示收藏量爲N以上的鏡像
下載官方鏡像 docker pull
docker pull centos
推送鏡像 docker push
docker tag ubuntu:18.04 songzijian/ubuntu:18.04 把songzijian換成你自己的名字
然後推送 push songzijian/ubuntu:18.04
推送成功之後就可以通過 docker search 來查詢了,額...我的沒查到,不過是推送成功了的,因爲可以直接訪問 https://hub.docker.com/r/songzijian/ubuntu 看到鏡像,也可以通過 docker pull songzijian/ubuntu:18.04 拉取到這個鏡像。
自動構建
自動功能對於需要經常升級鏡像內程序來說,十分方便。鏡像裏面安裝了某個軟件,當軟件發佈新版本則需要手動更新鏡像,而自動構建允許用戶通過Docker Hub指定一個目標網站(GitHub或者BitBucket)上的項目,一旦項目發生新的提交,或者創建了新的標籤,Docker Hub 會自動構建鏡像並推送到Docker Hub中。[這個我沒有實操,先把書上的記錄放着,用的時候查]
- 登錄Docker Hub。
- 在 Docker Hub 點擊右上角頭像,在賬號設置(Account Settings)中關聯(Linked Accounts)目標網站。
- 在 Docker Hub 中新建或選擇已有的倉庫,在 Builds 選項卡中選擇。Configure Automated Builds。
- 選取一個目標網站中的項目(需要含 Dockerfile )和分支。
- 指定 Dockerfile 的位置,並保存。
之後,可以在 Docker Hub 的倉庫頁面的 Timeline 選項卡中查看每次構建狀態。