Docker中實(shí)現(xiàn)鏡像的推送和拉取的代碼步驟
一、核心命令
| 操作 | 命令示例 | 說明 |
|---|---|---|
| 登錄倉庫 | docker login | 登錄 Docker Hub 或私有倉庫 |
| 標(biāo)記鏡像 | docker tag 源 目標(biāo) | 給鏡像加目標(biāo)倉庫標(biāo)識(shí) |
| 推送鏡像 | docker push 倉庫/鏡像名 | 上傳鏡像到倉庫 |
| 拉取鏡像 | docker pull 鏡像名 | 從倉庫下載鏡像 |
二、推送鏡像步驟詳解
1. 登錄倉庫
docker login
默認(rèn)是登錄 Docker Hub。若使用私有倉庫:
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
- 如果是私有倉庫:
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
四、常見私有倉庫支持
| 倉庫類型 | 地址示例 | 特點(diǎn) |
|---|---|---|
| Docker Hub | docker.io | 默認(rèn)公開倉庫 |
| 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 # 同上
六、本地搭建鏡像倉庫(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
八、進(jìn)階技巧
| 技巧/問題 | 說明 |
|---|---|
| 鏡像壓縮推送慢 | 用 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 -------------> 鏡像倉庫
鏡像倉庫 <--------------------------------------------- docker pull
拉取鏡像
到此這篇關(guān)于Docker中實(shí)現(xiàn)鏡像的推送和拉取的代碼步驟的文章就介紹到這了,更多相關(guān)Docker鏡像推送和拉取內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker如何實(shí)現(xiàn)容器間的安全通信方式
文章介紹了使用自定義網(wǎng)絡(luò)、網(wǎng)絡(luò)訪問控制、數(shù)據(jù)加密、認(rèn)證與授權(quán)機(jī)制、安全更新與漏洞管理等方法來提升Docker容器的安全性2024-11-11
詳解docker nginx 容器啟動(dòng)掛載到本地
這篇文章主要介紹了詳解docker nginx 容器啟動(dòng)掛載到本地,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
Docker本地鏡像發(fā)布到阿里云的實(shí)現(xiàn)
本文主要介紹了Docker本地鏡像發(fā)布到阿里云的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
docker容器直接退出如何進(jìn)入容器調(diào)試模式
這篇文章主要介紹了docker容器直接退出,如何進(jìn)入容器調(diào)試,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09
Docker-compose進(jìn)階配置之環(huán)境變量與配置隔離方式
本文系統(tǒng)講解了Docker-compose環(huán)境變量的使用方法,涵蓋配置隔離、多環(huán)境管理、變量優(yōu)先級(jí)及安全實(shí)踐,通過.env文件、變量替換和分層策略實(shí)現(xiàn)靈活、安全的配置方案,助力高效應(yīng)對(duì)開發(fā)到生產(chǎn)環(huán)境的配置挑戰(zhàn)2025-08-08
idea鏈接不上虛擬機(jī)的docker里的mongodb問題及解決
這篇文章主要介紹了idea鏈接不上虛擬機(jī)的docker里的mongodb問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06

