Docker中实现镜像的推送和拉取的代码步骤

 更新时间:2025年07月03日 17:16:27   作者:思静鱼  
在 Docker 中,镜像的推送(push)和拉取(pull)是通过与**Docker 镜像仓库(Registry)**交互完成的,默认仓库是 Docker Hub,但你也可以使用私有仓库(Harbor、Nexus、AWS ECR 等),本文详细介绍了Docker实现镜像推送和拉取的步骤,需要的朋友可以参考下

一、核心命令

操作命令示例说明
登录仓库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 Hubdocker.io默认公开仓库
Harborharbor.mycompany.com企业常用,权限+审计强
AWS ECRxxxx.dkr.ecr.us-west-1.amazonaws.com/repo云端集成强
GitHub Packagesghcr.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中实现镜像的推送和拉取的代码步骤的文章就介绍到这了,更多相关Docker镜像推送和拉取内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker安装Nginx容器配置及重新生成镜像图文教程

    Docker安装Nginx容器配置及重新生成镜像图文教程

    Docker是一个用于开发,交付和运行应用程序的开放平台,Docker使您能够将应用程序与基础架构分开,从而可以快速交付软件,下面这篇文章主要给大家介绍了关于Docker安装Nginx容器配置及重新生成镜像的相关资料,需要的朋友可以参考下
    2023-05-05
  • docker/docker desktop for window环境下创建本地镜像仓库方式

    docker/docker desktop for window环境下创建本地镜像仓库方式

    这篇文章主要介绍了docker/docker desktop for window环境下创建本地镜像仓库方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03
  • 使用docker极简打包java.jar镜像并启动的操作步骤

    使用docker极简打包java.jar镜像并启动的操作步骤

    这篇文章主要介绍了用docker极简打包java.jar镜像并启动,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • PVE下扩展openwrt for x86分区大小方式

    PVE下扩展openwrt for x86分区大小方式

    本文介绍了在PVE环境下如何对OpenWRT虚拟机的分区进行扩容,包括磁盘调整、软件安装、分区配置和系统引导等步骤,操作前需做好备份,以防数据丢失
    2024-10-10
  • Docker终端无法输入中文问题及解决

    Docker终端无法输入中文问题及解决

    Docker终端输入中文问题可通过修改语言环境解决,系统默认POSIX字符集不支持中文,将环境变量LANG设置为C.UTF-8即可解决,方法包括启动容器时添加环境变量和进入容器后修改
    2024-11-11
  • Docker中redis集群部署实战

    Docker中redis集群部署实战

    这篇文章主要介绍了Docker中redis集群部署实战的相关资料,需要的朋友可以参考下
    2022-11-11
  • Docker中的镜像详细介绍

    Docker中的镜像详细介绍

    这篇文章主要介绍了Docker中的镜像详细介绍的相关资料,需要的朋友可以参考下
    2017-05-05
  • 在Windows系统下安装docker窗口的配置过程

    在Windows系统下安装docker窗口的配置过程

    相信大家都知道Docker有很多种安装的选择,其中支持最好的是Ubuntu系统。而且docker如果想在windows上运行必须借助docker-machine,这篇文章将给大家详细的介绍在Windows系统上安装docker窗口的配置过程,有需要的朋友们可以参考借鉴。
    2016-10-10
  • 关于docker部署的jenkins跑git上的程序的问题

    关于docker部署的jenkins跑git上的程序的问题

    这篇文章主要介绍了docker部署的jenkins跑git上的程序的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • 卸载Docker时遇到问题的解决方案

    卸载Docker时遇到问题的解决方案

    这篇文章主要介绍了卸载Docker时遇到问题的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03

最新评论