docker推送镜像至阿里私有镜像仓库

  • 一、注册阿里私有镜像仓库
  • 二、将公共镜像推送至私有镜像仓库
    • 1、首先拉取到mysql镜像
    • 2、登录阿里云Docker Registry(这里的信息要更换成自己的)
    • 3、将mysql镜像推送至Registry
    • 4、查看
    • 5、拉取镜像
  • 三、将正在启动的容器导出并推送至私有仓库
    • 1、将启动的容器提交成一个新的副本
    • 2、导出为镜像
    • 3、加载导出的镜像
    • 4、推送至私有镜像仓库(同上)
    • 5、拉取镜像
    • 6、启动镜像

一、注册阿里私有镜像仓库

使用阿里云的私有镜像仓库,首先登陆,进入控制台
https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fcr.console.aliyun.com%2F&lang=zh
搜索“容器镜像服务”

创建私人实例

创建命名空间

创建镜像仓库(也可以不手动创建,推送时不存在会自动创建私有的)

进入镜像仓库就可以看到相关推送说明了

二、将公共镜像推送至私有镜像仓库

以mysql为例,推送至阿里私有镜像仓库

1、首先拉取到mysql镜像

2、登录阿里云Docker Registry(这里的信息要更换成自己的)

要向仓库推送镜像,需要进行授权才可以正常操作

docker login --username=自己的用户名 registry.cn-hangzhou.aliyuncs.com

查看认证信息(认证密码是加密的)

cat ~/.docker/config.json

也可以移除凭证信息

# 取消授权
docker logout registry.cn-hangzhou.aliyuncs.com

3、将mysql镜像推送至Registry

docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/zhanghangns/mysql:[镜像版本号]
docker push registry.cn-hangzhou.aliyuncs.com/zhanghangns/mysql:[镜像版本号]

例如:

docker tag mysql:latest registry.cn-hangzhou.aliyuncs.com/zhanghangns/mysql:latest
docker push registry.cn-hangzhou.aliyuncs.com/zhanghangns/mysql:latest

4、查看

5、拉取镜像

docker pull registry.cn-hangzhou.aliyuncs.com/zhanghangns/mysql:[镜像版本号]

例如拉取刚推送的mysql:

docker pull registry.cn-hangzhou.aliyuncs.com/zhanghangns/mysql:latest

三、将正在启动的容器导出并推送至私有仓库

有时候我们拉取到一个公共的镜像,启动之后发现有些配置不符合我们的预期,此时进行了一些修改,但是协作时每一次拉取镜像然后再做修改就比较麻烦,此时我们可以将自己修改好正在启动的容器导出并推送至私有镜像仓库,这样就不需要每次拉取都要修改一遍了。
这里我拉取了一个nginx镜像并启动,修改了欢迎页面都内容:

启动nginx镜像

docker run --name nginx -d -p 8080:80 nginx:1.20-alpine


此时通过ip端口就可以访问nginx了!

启动后我想对nginx欢迎页进行修改,以后每次拉取到镜像都显示我自己的欢迎页。我们进入nginx容器,修改欢迎页为自己想要的样子。

docker exec -it ******** sh
vi /usr/share/nginx/html/index.html

修改后再次访问nginx

好,我觉得很完美,以后每次拉取镜像启动后我都希望是这个样子!!接下来将这个启动的容器导出上传至我们的私有镜像仓库。

1、将启动的容器提交成一个新的副本

# 说明
docker commit -m "描述信息" -a "作者" 容器id 目标镜像:[TAG]
# 演示
docker commit -m "这是我修改后的nginx" -a "zhanghang" 246db488770c mynginx:v1.0

2、导出为镜像

# 说明
docker save -o 导出的文件名 commit的镜像信息
# 演示
docker save -o mynginx.tar mynginx:v1.0

此时在目录下就可以看到导出的mynginx.tar了。

3、加载导出的镜像

docker load < mynginx.tar

4、推送至私有镜像仓库(同上)

docker tag mynginx:v1.0 registry.cn-hangzhou.aliyuncs.com/zhanghangns/nginx:v1.0
docker push registry.cn-hangzhou.aliyuncs.com/zhanghangns/nginx:v1.0

5、拉取镜像

docker pull registry.cn-hangzhou.aliyuncs.com/zhanghangns/nginx:v1.0

6、启动镜像

docker run --name mynginx -d -p 8081:80 392d8cdadc10


启动后再次访问就可以看到我们修改后的欢迎页面,这样就不需要每次都进行修改了。

docker推送镜像至阿里私有镜像仓库相关推荐

  1. Docker推送镜像到自己的阿里云卡住,也不报错

    Docker推送镜像到自己的阿里云容器,一直卡住.Pushing,也不报错,也不上传. be5668ce5ec1: Layer already exists 5f70bf18a086: Layer a ...

  2. Docker推送镜像到阿里云镜像仓库

    docker推送拉取镜像文件,本文以阿里云镜像仓库为例 1.在阿里云创建镜像仓库 1.1.登录到阿里云,在产品中找到容器镜像服务 1.2.进到管理控制台 1.3.选择个人实例 2.进入镜像仓库,创建镜 ...

  3. Git for Windows之推送本地版本库到远程仓库

    Git for Windows之基础环境搭建与基础操作中介绍了Git基本环境的构建与基本的操作.生成了一个本地git版本库,本文将介绍如何将这个版本库推送到远程仓库(码云,github也可以). 1. ...

  4. 如何把本地项目代码推送到一个新的gitee仓库上,并拉取新仓库的代码进行运行。

    这篇文章搞得太复杂了,直接看下面这个链接的文章吧,简单明了. https://blog.csdn.net/MovemOemVeovE/article/details/122876583 1.把本地项目 ...

  5. git 新建分支并推送(push)到远程仓库

    git 新建分支并推送(push)到远程仓库 举个例子,你已经有一个项目,并且这个项目已经push到远程仓库中了,现在项目要开发一个新功能,或者是要做一些修改,需要新建一个分支. 步骤如下: 我这里用 ...

  6. 【Docker】将本地镜像推送到远程库/私有库

    前言 这里记录如何将本地镜像推送到远程库和私有库. 区别,一个是存放到阿里云,同一个团队可以登录到同一个阿里云仓库,去拉取镜像.一个是存放到本地私有库,同一个团队可以连接同一个私有库,去拉取镜像.例如 ...

  7. Docker推送进镜像到阿里云仓库

    1.登录阿里云容器镜像服务器 https://cr.console.aliyun.com 2.设置Registry登录密码 3.创建命名空间 4.创建镜像仓库 1. 登录阿里云Docker Regis ...

  8. Docker推送镜像到私有仓库Harbor

    概述 因为项目需要将镜像推送到私有仓库,测试过程中遇到些问题,用文章记录下来. 版本信息 操作系统:银河麒麟V10SP2 Docker:20.10.17 Docker-Compose:1.22 操作步 ...

  9. docker 推送镜像到私有地址

    下面针对的都是docker官网的地址 先登录 docker login 输入docker ID ID不是你的注册邮箱,指的是你登录后显示的ID,然后输入密码 ....此时认为你已经登陆成功了 接着看下 ...

最新文章

  1. Charles 从入门到精通
  2. java和python哪个好学-学java好还是Python好?
  3. DPDK vhost-user研究(九)
  4. P3482 [POI2009]SLO-Elephants
  5. VTK:Math之1DTupleInterpolation
  6. [转]vc中socket编程步骤
  7. 使用GlassFish 3.1.2.2和Primefaces 3.4的JDBC领域和基于表单的身份验证
  8. SQL 必知必会·笔记14更新和删除数据
  9. 数据库开发这点事 中文PDF下载
  10. 【报告分享】2021快手内容生态半年报:从心出发.pdf(附下载链接)
  11. 系统业务逻辑书籍_新年福利 | 架构的“一小步”,业务的一大步
  12. HBuilder Android APP打包发布
  13. 企业运行助推器——力软工作流引擎
  14. 数据组织与存储(一)
  15. Java - 为什麽 Iterator接口 不提供 add(E) 方法 ?
  16. 《怎样打开小米手机(已升级至MIUI8)的开发者选项》
  17. 【mysql】mysql 中 text,longtext,mediumtext 字段类型的意思, 以及区别
  18. OBS录屏如何设置录制窗口大小?
  19. 入行程序员培训还是不培训
  20. Enscape 代理服务器和防火墙设置

热门文章

  1. iOS开发者账号的申请
  2. linux中w命令使用
  3. dorado7中相关问题记录
  4. 使用python绘制二元函数对应的曲面
  5. python 北京出租车收费3.45_python进阶(三)
  6. 计算机入门模拟卷A(有详细答案),《计算机入门》模拟卷C答案-华东师范大学
  7. 编程小白自学所遇困难
  8. 零基础开发一款微信小程序商城
  9. k8s 改变默认 StorageClass
  10. 5+API,AD广告组件