Docker中實(shí)現(xiàn)鏡像的推送和拉取的代碼步驟
一、核心命令
操作 | 命令示例 | 說(shuō)明 |
---|---|---|
登錄倉(cāng)庫(kù) | docker login | 登錄 Docker Hub 或私有倉(cāng)庫(kù) |
標(biāo)記鏡像 | docker tag 源 目標(biāo) | 給鏡像加目標(biāo)倉(cāng)庫(kù)標(biāo)識(shí) |
推送鏡像 | docker push 倉(cāng)庫(kù)/鏡像名 | 上傳鏡像到倉(cāng)庫(kù) |
拉取鏡像 | docker pull 鏡像名 | 從倉(cāng)庫(kù)下載鏡像 |
二、推送鏡像步驟詳解
1. 登錄倉(cāng)庫(kù)
docker login
默認(rèn)是登錄 Docker Hub。若使用私有倉(cāng)庫(kù):
docker login your-registry.com
2. 給鏡像打標(biāo)簽(tag)
假設(shè)本地有鏡像:my-app:1.0
docker tag my-app:1.0 username/my-app:1.0
- 如果是私有倉(cāng)庫(kù):
docker tag my-app:1.0 myregistry.com/dev/my-app:1.0
3. 推送鏡像
docker push username/my-app:1.0
私有倉(cāng)庫(kù):
docker push myregistry.com/dev/my-app:1.0
三、拉取鏡像
docker pull username/my-app:1.0
私有倉(cāng)庫(kù)鏡像:
docker pull myregistry.com/dev/my-app:1.0
四、常見(jiàn)私有倉(cāng)庫(kù)支持
倉(cāng)庫(kù)類型 | 地址示例 | 特點(diǎn) |
---|---|---|
Docker Hub | docker.io | 默認(rèn)公開(kāi)倉(cāng)庫(kù) |
Harbor | harbor.mycompany.com | 企業(yè)常用,權(quán)限+審計(jì)強(qiáng) |
AWS ECR | xxxx.dkr.ecr.us-west-1.amazonaws.com/repo | 云端集成強(qiáng) |
GitHub Packages | ghcr.io/用戶名/鏡像名 | GitHub CI/CD 一體化 |
五、查看和管理鏡像
docker images # 查看本地鏡像 docker rmi 鏡像ID # 刪除鏡像 docker image ls # 同上
六、本地搭建鏡像倉(cāng)庫(kù)(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 信任私有倉(cāng)庫(kù)(非 HTTPS)
如果是 HTTP 倉(cāng)庫(kù)(如 localhost
或自建倉(cāng)庫(kù)),需修改:
vim /etc/docker/daemon.json { "insecure-registries": ["localhost:5000"] } systemctl restart docker
八、進(jìn)階技巧
技巧/問(wèn)題 | 說(shuō)明 |
---|---|
鏡像壓縮推送慢 | 用 docker save + gzip 壓縮傳輸 |
不用每次 login | 配置 ~/.docker/config.json |
CI/CD 自動(dòng)推送 | Jenkins/GitLab CI 中嵌入 login、push |
清理本地舊鏡像 | docker image prune 自動(dòng)清理 |
九、鏡像導(dǎo)出/導(dǎo)入(離線推送)
# 導(dǎo)出鏡像 docker save my-app:1.0 > my-app.tar # 拷貝到目標(biāo)機(jī)器后導(dǎo)入 docker load < my-app.tar
十、總結(jié)一張圖
docker tag docker push 本地鏡像 --------------> myregistry.com/my-app:1.0 -------------> 鏡像倉(cāng)庫(kù) 鏡像倉(cāng)庫(kù) <--------------------------------------------- docker pull 拉取鏡像
到此這篇關(guān)于Docker中實(shí)現(xiàn)鏡像的推送和拉取的代碼步驟的文章就介紹到這了,更多相關(guān)Docker鏡像推送和拉取內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker/docker desktop for window環(huán)境下創(chuàng)建本地鏡像倉(cāng)庫(kù)方式
這篇文章主要介紹了docker/docker desktop for window環(huán)境下創(chuàng)建本地鏡像倉(cāng)庫(kù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03使用docker極簡(jiǎn)打包java.jar鏡像并啟動(dòng)的操作步驟
這篇文章主要介紹了用docker極簡(jiǎn)打包java.jar鏡像并啟動(dòng),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-08-08PVE下擴(kuò)展openwrt?for?x86分區(qū)大小方式
本文介紹了在PVE環(huán)境下如何對(duì)OpenWRT虛擬機(jī)的分區(qū)進(jìn)行擴(kuò)容,包括磁盤調(diào)整、軟件安裝、分區(qū)配置和系統(tǒng)引導(dǎo)等步驟,操作前需做好備份,以防數(shù)據(jù)丟失2024-10-10在Windows系統(tǒng)下安裝docker窗口的配置過(guò)程
相信大家都知道Docker有很多種安裝的選擇,其中支持最好的是Ubuntu系統(tǒng)。而且docker如果想在windows上運(yùn)行必須借助docker-machine,這篇文章將給大家詳細(xì)的介紹在Windows系統(tǒng)上安裝docker窗口的配置過(guò)程,有需要的朋友們可以參考借鑒。2016-10-10關(guān)于docker部署的jenkins跑git上的程序的問(wèn)題
這篇文章主要介紹了docker部署的jenkins跑git上的程序的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11