Docker學習筆記系列是學習記錄的https://yeasy.gitbooks.io/docker_practice/content/ 該文檔的筆記
- 倉庫(Repository)是集中存放鏡像的地方
- 註冊服務器(Registry)是管理倉庫的具體服務器,每個服務器上可有多個倉庫,每個倉庫下可有多個鏡像。
Docker Hub
- 公共倉庫docker hub,可通過執行
docker login
通過命令行登錄docker hub,使用docker logout
退出登錄 - 拉取鏡像:
docker search {關鍵字}
查找官方倉庫中的鏡像,利用docker pull {關鍵字}
下載到本地
- 在查找時,可設定
--filter=stars={N}
參數來指定顯示收藏數量爲N以上的鏡像
- 推送鏡像:
docker push {username}/{image_name}
- 自動構建:允許用戶通過docker hub 指定一個目標網站(github或bigbucker)上的項目,一旦項目發生新的提交或創建了新的標籤,docker hub會自動構建鏡像並推送到docker hub中
- 自動構建,配置步驟:
-
- 登錄docker hub
-
- 在賬號設置中關聯目標網站
-
- 在docker hub中新建或選擇已有的倉庫,在builds選項卡中選擇 configure automated builds
-
- 選取目標網站中的項目(需要含有dockerfile)和分支
-
- 指定dockerfile的位置,並保存
- ps:可在docker hub的倉庫頁面的timeline選項卡中查看每次構建的狀態
私有倉庫
- docker-registry 官方工具,用於構建私有的鏡像倉庫
- 安裝運行docker-registry
- 容器運行
- 通過獲取官方 registry鏡像來運行私有倉庫
docker run -d -p 5000:5000 --restart=always --name registry registry
- 默認倉庫被創建在容器的/var/lib/registry目錄下,可通過
-v
參數指定
- 在私有倉庫上傳、搜索、下載鏡像
- 構建好私有倉庫,可使用
docker tag
標記一個鏡像,然後推送到倉庫 docker tag {標記的鏡像} [私有倉庫地址]/[標記的鏡像]
docker push [私有倉庫地址]/[標記的鏡像]
上傳標記的鏡像
-
對於使用systemd的系統,需在
/etc/docker/daemon.json
中寫入:{ "registry-mirror":["https://registry.docker-cn.com"], "insecure-registries":["{倉庫所在機子ip}:5000"] }
Nexus3.X的私有倉庫
ps:Nexus3.x支持Docker的私有鏡像
- 利用 http://{ip}:8081訪問nexus,默認賬號admin,密碼admin123