Ubuntu16.04如何推送自己的镜像到阿里云(亲测百分百有效)

很多时候,我们docker pull一个镜像之后,会对镜像做一些修改。比如,开启SSH连接等。但是,如果这个容器关闭之后,那么这个容器里面的东西就会丢失,恢复到初始状态。那此时就需要把这个修改过的镜像重新打包,然后推送到某个仓库。然后使用到的时候,再次把这个镜像拉取下来就可以了。下面介绍一下怎样把自己的docker镜像推送到阿里云镜像仓库。

一、创建本地镜像

1.1 下载基本镜像

作者下载的是阿里云的centos7镜像

$ sudo docker pull centos:centos7

1.2 用基本镜像启动容器

启动下载的基本镜像,方便在里面部署自己需要的服务,例如jdk、tomcat等

# 查看所有已经下载的镜像
$ sudo docker images

# 启动容器
$ sudo docker run -d 5e35e350aded /bin/sh -c "while true; do echo hello world; sleep 1; done"
# 或者用以下命令启动
$ sudo docker run --privileged -ti -d 5e35e350aded /usr/sbin/init

1.3 修改镜像

#进入上步启动的容器中
$ sudo docker exec -it 1da110c443fc /bin/bash

进入之后相当于一个全新的centos7系统,在里面可以安装自己需要的任何服务

1.4 重新打包修改后的镜像

$ sudo docker commit -a "Alan" -m "my image" 容器ID  new-image:版本号 

说明: -a :镜像的作者;-m:镜像的提交信息,容器Id是运行镜像之后得到的那个容器Id。

二、发布镜像到阿里云服务器

2.1 在阿里云服务器创建镜像

  1. 打开阿里云镜像管理中心
https://cr.console.aliyun.com
  1. 创建一个命名空间。

点击命名空间管理,然后点击右上角的创建命名空间。

  1. 创建镜像列表

填写仓库名称,摘要,设置代码源为本地仓库。最后点击创建镜像仓库即可。

  1. 推送镜像源
    点击管理


    按照提示即可把自己的镜像源推送到阿里云镜像仓库。
    如果不知道或者忘记自己登陆docker的密码,可以点击下面的按钮镜像更改。

    按照讲解中的步骤执行即可,如下:
#将镜像推送到Registry
$ sudo docker login --username=404206162@qq.com registry.cn-beijing.aliyuncs.com
$ sudo docker tag [ImageId] registry.cn-beijing.aliyuncs.com/topca/tomcat7_jdk7:[镜像版本号]
$ sudo docker push registry.cn-beijing.aliyuncs.com/topca/tomcat7_jdk7:[镜像版本号]
posted @ 2020-04-29 17:33  小小小小小小鱼  阅读(337)  评论(0编辑  收藏  举报