Docker中實現(xiàn)鏡像的推送和拉取的代碼步驟
更新時間:2025年07月03日 17:16:27 作者:思靜魚
在 Docker 中,鏡像的推送(push)和拉?。╬ull)是通過與**Docker 鏡像倉庫(Registry)**交互完成的,默認倉庫是 Docker Hub,但你也可以使用私有倉庫(Harbor、Nexus、AWS ECR 等),本文詳細介紹了Docker實現(xiàn)鏡像推送和拉取的步驟,需要的朋友可以參考下
一、核心命令
| 操作 | 命令示例 | 說明 |
|---|---|---|
| 登錄倉庫 | docker login | 登錄 Docker Hub 或私有倉庫 |
| 標記鏡像 | docker tag 源 目標 | 給鏡像加目標倉庫標識 |
| 推送鏡像 | docker push 倉庫/鏡像名 | 上傳鏡像到倉庫 |
| 拉取鏡像 | docker pull 鏡像名 | 從倉庫下載鏡像 |
二、推送鏡像步驟詳解
1. 登錄倉庫
docker login
默認是登錄 Docker Hub。若使用私有倉庫:
docker login your-registry.com
2. 給鏡像打標簽(tag)
假設本地有鏡像:my-app:1.0
docker tag my-app:1.0 username/my-app:1.0
- 如果是私有倉庫:
docker tag my-app:1.0 myregistry.com/dev/my-app:1.0
3. 推送鏡像
docker push username/my-app:1.0
私有倉庫:
docker push myregistry.com/dev/my-app:1.0
三、拉取鏡像
docker pull username/my-app:1.0
私有倉庫鏡像:
docker pull myregistry.com/dev/my-app:1.0
四、常見私有倉庫支持
| 倉庫類型 | 地址示例 | 特點 |
|---|---|---|
| Docker Hub | docker.io | 默認公開倉庫 |
| Harbor | harbor.mycompany.com | 企業(yè)常用,權限+審計強 |
| AWS ECR | xxxx.dkr.ecr.us-west-1.amazonaws.com/repo | 云端集成強 |
| GitHub Packages | ghcr.io/用戶名/鏡像名 | GitHub CI/CD 一體化 |
五、查看和管理鏡像
docker images # 查看本地鏡像 docker rmi 鏡像ID # 刪除鏡像 docker image ls # 同上
六、本地搭建鏡像倉庫(Registry)
docker run -d -p 5000:5000 --name registry registry:2
推送示例:
docker tag my-app localhost:5000/my-app docker push localhost:5000/my-app
七、配置 Docker 信任私有倉庫(非 HTTPS)
如果是 HTTP 倉庫(如 localhost 或自建倉庫),需修改:
vim /etc/docker/daemon.json
{
"insecure-registries": ["localhost:5000"]
}
systemctl restart docker
八、進階技巧
| 技巧/問題 | 說明 |
|---|---|
| 鏡像壓縮推送慢 | 用 docker save + gzip 壓縮傳輸 |
| 不用每次 login | 配置 ~/.docker/config.json |
| CI/CD 自動推送 | Jenkins/GitLab CI 中嵌入 login、push |
| 清理本地舊鏡像 | docker image prune 自動清理 |
九、鏡像導出/導入(離線推送)
# 導出鏡像 docker save my-app:1.0 > my-app.tar # 拷貝到目標機器后導入 docker load < my-app.tar
十、總結一張圖
docker tag docker push
本地鏡像 --------------> myregistry.com/my-app:1.0 -------------> 鏡像倉庫
鏡像倉庫 <--------------------------------------------- docker pull
拉取鏡像
到此這篇關于Docker中實現(xiàn)鏡像的推送和拉取的代碼步驟的文章就介紹到這了,更多相關Docker鏡像推送和拉取內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Docker-compose進階配置之環(huán)境變量與配置隔離方式
本文系統(tǒng)講解了Docker-compose環(huán)境變量的使用方法,涵蓋配置隔離、多環(huán)境管理、變量優(yōu)先級及安全實踐,通過.env文件、變量替換和分層策略實現(xiàn)靈活、安全的配置方案,助力高效應對開發(fā)到生產環(huán)境的配置挑戰(zhàn)2025-08-08
idea鏈接不上虛擬機的docker里的mongodb問題及解決
這篇文章主要介紹了idea鏈接不上虛擬機的docker里的mongodb問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06

